A desire to overeat, and especially to overeat high-fat, high-carb meals, is a natural reaction to stress hormones, and also a typical psychological response to concern about the future availability of food. That's a big part of why you'll find higher obesity rates in the US among the poor than the rich. In historical times, that wasn't the case, of course, and it's not the case in some of the third world, because food insecurity takes the form of actual famines, which cause weight loss for the poor. But assuming one doesn't want to see some of the poor literally starving to death, that's not a practical way to keep a population thin.
There's also the fact that, in the US, we keep exactly the wrong kinds of food cheap, through things like farm susbsidies. Rather than keeping lean meats and vegetables cheap, we keep simple carbs, and especially high fructose corn syrup, cheap. If you wanted, you could get enough calories to be severely obese for about $2000 per year, just by focusing on corn-syrup-heavy subsidized calorie-bombs. For example, you can get a 2-liter soda for $1.50. Shop the clearance deals, and you can get them for a lot less, like 70 cents per bottle. That's 800 calories each. Four of those in a day is $2.80 and 3200 calories, or enough to make a fairly sedentary 40-year-old man weigh 380 pounds, if he made a habit of it. Even people far below the poverty line can afford to get fat in America. It's not about spending daddy's money on expensive Frappacinos. It's a bout a society that triggers people to want to load up on calories, and then makes some of the least healthy choices the cheapest for them.