In the past the network usually forgot transactions after three days, but something's recently changed and people are sometimes waiting weeks for a confirmation. That high fee might seem a rip off, but it's preferable to having your coins stuck in limbo for weeks.
The default timeout for a transaction got changed from 72 hours (3 days) to 336 hours (14 days) in Bitcoin Core:
https://github.com/bitcoin/bitcoin/commit/a72f76ca3d5d2f259d308f65810891389f728e9eThis became more apparent when the number of unconfirmed transactions spiked up over 150,000... more and more low fee transactions were left in the pool for longer and longer periods of time.
NOTE: This value can be changed with a commandline parameter (-mempoolexpiry), but chances are a lot of nodes are being run with default options, so it is quite possible for a transaction to get held for 14 days.