This can happen if newly built houses have a significant higher population than old houses, if I'm not mistaken. E.g. you have a town of 10 houses with population 4. The next growth stage the town wants to increase its population from 40 to 44, but it can only build new houses with population 12. To do this, it has to add one house with population 12, but also remove two houses with population 4.
Sorry, but this is completely wrong. The town does not care about its population at all - just the house number is important for all town actions. Towns do not decide "hey, I'll kill this building for whatever reason" - buildings just die after a while, this is independent of town growth.
I've done so, they say "Town is not growing".
In this case, you do not have active stations close to the city center (where "close" depends on the city size itself, ~50% larger than the region with sidewalks on the roads), have town growth disabled or do not supply food/water if required. If you use certain NewGRFs, there can be additional requirements.
Houses vanish after a while (~80 years without NewGRFs) - the only way to keep the town size constant is to ensure that enough new houses will be built.
(as if the towns actually can't build more buildings, it'll expand by build more taller and larger buildings - a good thing actually.)
Only if there are free spots for those buildings - with a proper road design, those spots are rare, so it does not help to constrain the town size.Probably more about towns than you need