If you don't, I'd measure his meals--I find my estimations tend to be really off, so I've dedicated a plastic measuring cup to dog food.
Also, if he likes them, veggies make great treats with almost no calories, Patrick loves tomatoes in particular and anything crunchy--the ends of asparagus, broccoli stalks, etc.
If nothing seems to be working, I'd talk to the vet about doing some blood work. I know you said the vet thought he was healthy, but there's more beyond the basic thyroid panel that might be worth investigating if he keeps gaining.