I think you may be mixing up two different concepts: gas price and gas limit. Let's clarify those.
Gas limit is the maximum amount of gas you allow the execution of your transaction to consume. In many cases this can be simply left as a very big number as the leftover gas is (typically) returned. But if you for example don't trust some of the contracts you use then you can limit the amount of gas - that way a malicious/buggy contract can't spend too much of your precious gas.
Both transactions and blocks have a gas limit; you can only influence the gas limit of your transaction. Block gas limit is currently around 10 million and it can be influenced only by miners - it doesn't change often.
The block's gas limit does not care about gas prices, it only restricts the amount of gas used. So it's used to limit the amount of computation, not the total amount of Ethers spent on gas. So if the limit is for example 50 and your transaction uses 40 gas but has a very high gas price, the transaction fits inside a block. The same is true for the transaction's gas limit: it only limits the amount of computations and does not care about gas prices.
Gas price is the price you are willing to pay for each unit of gas consumed by the computation of your transaction. The higher this number is the more you have to pay for the same transaction. But the higher the number is the more likely miners are to include your transaction in their next block because miners get to keep this fee themselves. So in your example the sender simply used a very high gas price.
Typically if there is extra gas left at the end of the transaction it is returned to the sender. But if the transaction throws an exception no gas is consumed. Exceptions should be rare. Some more info can be found here: Why does a Solidity throw consume all gas?