Hi,
Every dog trainer has a different opinion. Here is one that I heard.
One possible issue is the below. I'm assuming straight outside means almost as sonn as you arrive home?
We do go straight outside with her as soon as we get home.
Being a pack leader is showing your followers that he must wait and be patient. If your like most of us you can't wait to get home and see your dogs as soon as you get home. It's normal.
When you arrive home don't give him any attention. Wait x amount of minutes before entering his pen/kennel,backyard for example. Once you enter or if hes already near you, just ignore him, make out like you have an intent for doing something where he is. When he settles down then its time to give him praise.
A Cesar Millan saying is you need to give dogs this in order "exercise, discipline, affection"
A lot of people usually go straight to affection, affection, affection.
A saying my dog training ingrained into me for my dog is "Nothing In Life Is Free!"
He has to work for food, water, praise, treats, or affection.
So there's some theory, and here's a link that may aid in showing you how to stop it.