Is it possible for the transaction to be on hold forever? I'm playing around with myst wallet on a private network, and noticed this option while sending funds between wallets:


This is ETH, but I'm also interested how other networks handle this issue.

So I started to wonder - is it possible that in abundance of high fee transactions to add (mine), my transaction would never be applied to a block? In a similar fashion like low priority processes can get starved?

Or maybe there is some mechanisms that will ensure that my transaction gets through?

I can imagine such mechanism like this: each miner has to pick at most 90% transaction with high fee, and 10% transactions with low fee. This way - low fee queue can get clogged, but if it's a FIFO queue - those would be processed eventually. 
As opposed to the approach where take X transactions ordered by fee desc would allow to high fee transactions to flow in virtually starving everything else.
There are no rules, miners can pick the transactions they want to include in the block.

Unconfirmed transactions sit in the miners "mempool". And when size of the "mempool" becomes too high, miners may decide to clear out some old transactions. 

But there are no hard and fast rules, so you should think twice before sending transactions to the node.