I've read its also a cultural thing. As in, in China it's considered rude to finish your meal, as that means your host didn't provide enough food. Hence you always leave something left over. Contrary to that, in western cultures, it's considered rude to leave something of your meal, as that means you don't like the food.
When I lived in China, my gf always insisted I don't waste any food that we cooked. We're both pretty thin so that could be a struggle at times. But part of the reason for this attitude is because she was raised in a village area without proper refrigeration available so not finishing most cooked foods meant risking illness from food spoiling later.