If a pool started holding out when they found a block they'd risk the majority of the network (i.e., everyone else) finding blocks faster than them thus invalidating the reward from their block as soon as they decided to connect to the rest of the network. In the case they never decide to sync with the rest of the network then their mined coins would be invalid for most people, essentially creating an alt-coin. This would probably make all the miners on that pool leave and go elsewhere as their coins would be invalid on the majority of the Bitcoin network.
The "correct" blockchain is the longest one, and will be created by whoever solves blocks at the fastest rate. A pool that holds out its blocks and continues to mine will end up creating a separate blockchain that will be shorter than the chain everyone else is working on, assuming the malicious pool solves blocks slower than the rest of the network. Everyone else will simply ignore this separate chain once the malicious pool tries to broadcast it.
If one malicious pool (or miner) has more hashpower than everyone else combined (i.e., the infamous 51% attack) then they could in theory do what you propose and make every other miner's blocks invalid by privately solving blocks faster than the rest of the network and broadcasting these private blocks once their private chain is longer than the currently accepted main chain.
But if anyone had this much hash power it would probably be in their best economic interest to just mine for the network (relay their blocks immediately) rather than against it, since mining against the network would probably cause the exchange rate of fiat/BTC to drop, reducing the value of their mined coins. Of course this doesn't account for a malicious entity with no direct financial interest from mining. (e.g., a government trying to shut down Bitcoin)
Not really a thorough analysis, sorry.
Also check this out:
https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_power