Isn't it in the best interest of the network that each block will contain as many transactions as possible? Why make transactions wait? If it takes the same effort to create a block with 10 transactions or 1000 transactions, why the system does not enforce choosing the the latter?
Theoretically, a node which has considerably more computing power vs the rest of the network, can choose to include 1 transaction with each block, deliberately delaying confirmations (or controlling them) since it has the biggest chances of finding a new block...