It seems as though you are doing the right thing by using the leash. I've only had one "puppy" (dogs all my life but my first puppy) and we went through some training classes. The leash approach seems to be working for you and is not harming him. As he is older you need to continue being consistent and BE PATIENT! He is un-learning a bad habit/bad behavior.
I think the crate (a time-out) when he does growl would reinforce the lesson- that growling is not acceptable. Maybe continue with the leash for a while. Then try without the leash, if he growls put on the leash and put him in the cage for a short time. EVERY TIME he growls, then leash and crate.
Good luck.
Bookmarks