I think he needs to see the vet for a full blood-panel. When you say he has gained weight, is his middle quite plump but the rest of him looking normal? Has he started to lose any fur in patches?
You need to see that his blood glucose levels are normal, and his kidney function also.
Screening him for Cushing's might also be a good idea, if the vet thinks this is appropriate. That may involve a Low Dose Dexamethasone Suppression Test, and if so, he will have to stay in the vet's all day, or possibly overnight.
But you could start with a full blood test.
Before you go, get a fresh urine sample to take with you. This will save time, as the vet will probably want to run a urinalysis.
Make sure it's taken just before you go, and keep it as cool as possible. Make sure it is collected in an extremely clean, and well-rinsed container (a small glass jar will do) and other items you use are also as sterile as you can get them.
Rapid weight gain usually needs a trip to your vet. This might have been caused by a certain medical condition rather than the food he eats. I suggest, you get him checked by your vet right away.
Have your vet do a blood panel.check liver,kidneys and a check for diabetes