...and in times of congestion, your 0-fee transaction will not get included in any blocks. Fine.
It will get included later. That's spam for zero cost.
But what happens when everyone (e.g. more than 4-7 per second) is including a fee? Is it reasonable that nobody is granted access to the system but those prepared to pay 0.1 BTC? 1 BTC? 10 BTC? The central question is whether or not a protocol limited to 4 tps is reasonable. I reply with an emphatic 'NO'.
You are using a 0.1 BTC+ example. At 4 tps x 60 secs x 10 minutes, you are talking about 240 BTC in fees per block and 34.560 BTC per day. This is absurd and we all say NO.
A while ago I was sitting in front of a block explorer seeing the transactions as they happened in real time, in USD terms... there were many 0.03, 0.07$ transactions etc.
This is bullshit.
Let us amend that to 'no effective span attack'.
The blockchain got larger, syncing times got slower, the attack left a permanent imprint. And consequent attacks will do the same. And if we had 10x blocks, it could be 10x the effect.
But small blocks only make it cheaper for an attacker to clog the system. Large blocks make it more expensive to clog the system.
Clogging of trash txs don't matter (in terms of quickly doing your legitimate tx). You skip them with a normal fee. Large blocks = no fee competition = attacker gets to bloat for free. FFS they already do that with 1MB blocks.