My brother gained weight slowly. When he potty trained at 3 years old, Mom had to hunt and hunt to find size 2 underpants (what would fit the average two-year-old). He was small for his age until Mom figured out that he was allergic to a lot of things. Once she quit feeding him all the things he was allergic to, he began to gain weight and now he's 6'10" and I'm not sure how much he weighs, but before he went into the Marines, it was more than he should.
Something else you might want to consider. It could be that his digestive system is overwhelmed. A baby of 10 months should be able to handle longer waits than 2 hours--most newborns can go at least 2 1/2 hours between feedings. My baby is 4 months and she can go anywhere form 3 1/2 to 4 1/2 hours between feedings (usually not more than 4; she only goes more if she's exhausted from a missing part of a nap and sleeps a bit past a feeding time during the next one). And the interesting thing is, she went from feeding every 1-2 hours to feeding every 3 1/2 to 4 hours in a matter of 2 or 3 days. I just learned how to make a routine that works for her. I feed her, keep her awake, and put her down for a nap after wake time--without feeding. When she wakes up, I feed her again. I'm not strict with the times; she lets me know when she's tired and she wakes up when she's hungry. She used to just snack, but now she eats all I've got at each feeding and is content until the next one. And she's gaining fine. So try (for a week, perhaps, to see what happens) stretching the time between feedings and feeding him more at each feeding, so that you get the same amount of food in a day, just in fewer feedings. This will give his tummy a chance to rest between feedings, giving the body energy to do other things, like grow.
And if you do it, and especially if it helps, please drop me a line and let me know.