if you walk him every other day, try walking him everyday, and don't go the same route everytime, mix it up. Also if you have a tread mill, "walk" the dog on that to exercise him if you can't walk him.
It's good that you're doing courses with him. Do you do it in your yard, or do you take him somewhere to do it?
If you do it all in your yard, be may be getting bored with his yard and isn't necessarily jumping out at the people, but jumping out to go explore.
Have you thought about going to a few dog trainers and see what they say about it?