Yes, your son is within the normal weight and height range for his age so he is fine. Let him eat.
My son is 3 years (3/11/2005) and weighs 29lb and is 36" tall
Your son is within the normal weight and height range for his age. Is he very active throughout the day? You stated he does not gain weight and yet eats the food. It sounds like he is very active or has a high metabolism rate, which is ok. He needs the food to keep up with his activities. You see people who can eat all they want and do not appear heavy because they have a high metabolism rate (their bodies uses up calories faster) or they are in constant motion, which uses up calories too. As long as he grows over time at a steady pace, he will be fine.