It depends on how big your dinner is. If your largest meal of the day is (a) your last meal, and (b) you go to bed within 2 hours of eating it, that is a contributing factor to consistent weight gain.
Arguments about metabolism may or may not have any fundamental scientific backing, but logically, eating a significant proportion of your calories right before your sleep will impact on how hungry you feel over the day and thus how much you want to eat overall, because the sense of being full will not last you very long relative to your waking hours. I speak as one who has taken the ride.
Here’s a walkthrough example. Say you are awake 16 hours a day, from 7am to 11pm, and sleep from 11pm to 7am, and typically eat three meals a day – at 8am, 1pm and 7pm. Further assume for arithmetic’s sake that your maintenance level of calories is 2100. If you eat three meals a day, you should be averaging about 700 calories per meal to avoid gaining weight.
Now let’s say for argument’s sake that your eating and sleeping schedule has you eating late: you get up at 7am and go to bed at 11pm, but you’re eating breakfast at 11, lunch at 3 or 4 and dinner at 9pm. Further, assume that dinner is your biggest meal, so your breakfast is 400 calories, lunch is 600 and dinner is 1100 calories.
For 14 of your 16 waking hours, you’re operating on a feeling-hungry, needing-energy basis. The last two are spent feeling relatively or even very stuffed.
This makes it very, very easy to actually eat 600, 800 and then 1100 calories in those three meals, and 400 extra calories a day on a consistent basis quickly adds up to junk in the trunk. This is because by eating three times a day, you’re often pretty hungry by lunchtime and by dinnertime, with that 5 and 6 hour gap respectively between meals. And the “coasting effect” of eating a big, 1100 calorie meal will not “tide you over” until 3am or so – you’re asleep.
This is why it’s advised to eat FIVE times a day, say at 8, 10:30, 1:00, 4:00 and 7:00pm on the above routine schedule. Otherwise, come 1pm or 7pm, you’re so hungry that it’s very easy to eat way more than 700 calories at a sitting.
If you’re going to go to bed soon after your last meal (for example, my standard dinner time is 7:30pm and I try to get to bed by 9:30pm), eat enough at 4pm so that your 7:30pm meal can be very light.