Blocks are always full. When they're not a million bytes, they're less because a miner chose to limit the capacity further, but to whatever capacity they were allowed they're full.
Ok, blocks are always "potentially" full - of non/low fee paying tx's.
But not always full of standard fee paying tx's. Miners don't usually exclude tx's paying standard fees. Not by default.
Miners do "choose" to not include spam.
There are spam generators that generate a constant flood of minimal fee-rate transactions constantly 24/7... a node with all anti-spam defeated and no mempool limit quickly ends up with hundreds of megabytes of transactions.
Minimal fee, not standard fee, not no fee. That is why they are spam.
Spam is seen as 2nd rate by miners in preference to standard (higher) rate payers. (core wallet?)
A higher min fee would resolve what you describe?
This isn't a problem, it's how the system works... and it is unavoidable in a decentralized system --- imagine instead that there were no limits at all (not in the consensus rules, not by miner collusion)-- that would be the necessary criteria for blocks to not be "full" and in that world a single kid with a while loop could throw hundreds of gigabytes of data into blocks and rapidly DOS the whole system into the ground.
Only if miners accept free or infinatly cheep fees to include that spam.
Or someone has infinate money.
When you get fed hype around "full" blocks, you're being fed a fake emergency narrative.
When you get fed hype around anything it not good.
Do you think blocks/mempool will be full of standard fee paying tx's before segwit is/isn't adopted.
If it is the case, is that a problem?
Does Core have a "safety net" option planned and tested?