If a transaction sits a long time in the tezos mempool for a reason or another does it get eventually cleaned-up or will it stay there forever ?
In the current protocol there's a time to live of 60 blocks for every manager operation, after which they can no longer be included.