What do you mean by transaction being able to drop from the mempool. You mean drop back to the sender? If yes, can this be called transaction reversal?
Each node has its own mempool. Each mempool has limits as to how long it will keep an unconfirmed transaction in its mempool, or how large the mempool can be.
By default, a transaction will stay in a mempool for 336 hours (14 days) until it is dropped. Code here:
https://github.com/bitcoin/bitcoin/blob/3132ec64d9e0f7af88e61ac35807f44315a5ca96/src/kernel/mempool_options.h#L23-L24By default, the maximum mempool size is 300 MB. Code here:
https://github.com/bitcoin/bitcoin/blob/3132ec64d9e0f7af88e61ac35807f44315a5ca96/src/kernel/mempool_options.h#L19-L20For a node running these default settings (as the vast majority of nodes do), then if a transaction is unconfirmed for 14 days, the node will drop it from its mempool. Similarly, the transaction can be dropped out of the bottom of the mempool because the mempool is filled with 300 MB or more of higher fee paying transactions.
Nodes are free to change these limits, however, and some do, running with much higher limits so they rarely, if ever, drop transactions.
If a transaction is dropped from the majority of mempools, that doesn't make it invalid. It is still a perfectly valid signed transaction, just one that the network has forgotten about. Anyone who has a copy of that transaction (which includes each and every node which once knew about it) can rebroadcast it and try again to get it confirmed. Alternatively, if the transaction has dropped, the person who made that transaction could instead attempt to spend those coins in a new transaction. This new transaction would not be rejected as a double spend since the majority of the network has forgotten about the original transaction.
I wouldn't call it a reversal if a transaction permanently drops - more that the transaction never happened at all.
If yes , how about the bitcoin was used to purchase goods and the buyer has gone with the goods?
Then the seller is left out of pocket.
In OP's case here, a few days after he broadcast his transaction, all nodes running default settings would have dropped it out the bottom of their mempools as their mempools contained more than 300 MB of higher paying transactions. Yet we can still see it on every block explorer we check, meaning that at some point someone (probably Coinbase) rebroadcast it to the network.