Even when "blocks are full" and mempool queues are several megabytes long, there are always a lot of transactions served in the near zero cost segment.
Not sure I'm following. Shouldn't the blocks be always full, due to spam transactions filling them up to capacity? Why aren't they full now?
Because some blocks are 1mb and some are less for whatever reasons the miners want.
Btw, it seems to have stabilized since May with a few spikes up and down:
https://blockchain.info/charts/avg-block-size?timespan=1year