The problem comes with transactions that take an inordinate amount of space in the block to represent them, because their inputs are from many tiny individual transactions. Miners tend to sit on their coins until the price goes up. Then they rush to send their coins to an exchange to sell all at the same general moment in time.
Since miners tend to be paid in many smaller payments across time, when they attempt to send their coins to an exchange (or anywhere for that matter), the transaction ledger that is created has to represent each and every one of those input transactions. It's NOT simply saying "Send X BTCs from wallet Y to wallet Z." If the miner has a total of 3 BTCs that he's sending to the exchange, which came to the miner from 1,000 individual mining payouts of 0.003 BTC, that 3 BTC send transaction will need to contain the transaction IDs of each and every one of those 1,000 individual mining payouts. That is what EATS UP SPACE in the block.
Once those coins are consolidated into a single transaction ID again, it actually makes it easier to send (smaller # of bytes required) payments from that consolidated transaction ID.
So rather than wait until the price gets to where you want to sell, miners should be consolidating their wallets during non-peak times. If you have those 3 BTCs already in a single transaction ID, when you go to send BTC to someone next time, the # of bytes required to represent those 3 BTCs will be minimal since it will only reference the single consolidated transaction ID (rather than the thousand in my example above).
Some of this problem has been handled already somewhat by the pools where they were paying daily but now pay weekly, for example. But still, if you are trying to send 2 years of mining payouts (from a pool that pays out weekly) to an exchange, your transaction will need to include 104 different inputs, and will eat up significant space in the block. Send to yourself during off-peak times, paying a minimum fee, and decrease your block footprint.