If you look at the stake/reward-curve (i.e. at pooltool.io) you’ll see that at least multiple million ADA are required to be able to compete with more established pools.
Those numbers are especially hard to reach if your pool is already up and running - it is easier to convince a bunch of people to come together for something new with a great outlook than to join something that is already not performing well (a pool with less than multimillion delegation cannot perform well, again, check out the reward curve). Even friends have been telling me “lol dude why is your pool ranked so low, not gonna delegate there”.
On top of that, allowing the same operators to run multiple pools completely counters the saturation effect.
I myself will shut down my stake pool if the k-parameter-update in March won’t have the desired effect of redistributing enough delegation to my pool, and I’d expect others to do likewise. At some point we are just missing out on too many profits.
tl;dr Establishing a new shelling point is hard enough, getting people to join one that is underperforming due to its size is next to impossible. On the flipside, there is in practice no upper cap on the growth of big pools.