Paying 1btc now to get .5 btc at some point in the future is not ever, under any circumstances, a good business decision.
It completely baffles me how some people can actually think that is a good deal.
You're mostly correct, there is some upper level Bitcoin price that it can rise to where Mining produces more profit than holding. That's because the miner becomes unprofitable to run after a period of time when the electricity exceeds the miner's ability to produce coins. However if the value of Bitcoin rises, the miner can run longer and produce more Bitcoins. So in theory instead of earning only 1 Bitcoin, it could earn 1.1 Bitcoin if the value is large enough to make it worthwhile to keep running.
The other thing, is that some people simply aren't good at holding. It takes patience and confidence. Mining sort of forces people to hold, but in a different way. So that if the value of the coin rises, they gain the FIAT by the slow return on mining vs cashing out the Bitcoins now for a smaller profit.
None of that applies to a 5 year mining contract, since they are under contract to continue to provide the hashing power for 5 years whether it is economical to do so or not. This is simply basic math, the total proceeds from hashing for the entire 5 year contract come to be less than what it costs to purchase.