We also have a valuable limit used to avoid spam filling up blocks,
Wait - what?
Clearly, the limit just ensures that relatively few spam transactions are required to fill up blocks.
Exactly, so that when they interfere with actual demand for transactions they soon find themselves having to compete on the transaction fee market.