Some exchanges and services (e.g. CoinBase, Bitstamp) pay for the transaction fees for their customers when the customers send bitcoins from their wallet/account.
They might have tens of thousands of transactions going out of customers wallets everyday. The 0.0001btc fees might add up really quickly and become a large cost to them.
Are they making transactions wait so that they can send to many at once? If they have enough transactions going out this might work as the customer won’t feel a few seconds of delay.
Or do they create a unique transaction for each? If so, how can they afford it?
They can avoid the fees in two ways.
First, they can choose to batch multiple small transactions together into a single transaction with multiple outputs.
Second, since they have a large pool of bitcoins, they can more easily form transactions that qualify to be free transactions, for payouts over 0.01 BTC.
The most efficient way to form these free transactions would be to make a transaction that’s nearly 1000 bytes, and is sent from inputs that destroy 4 Bitcoin days (e.g. a 4-day old 1 BTC input, or 2-day old 2 BTC input). This will ensure that it meets the priority requirements.