one more question: are the transactions picked up by chance from the mempool? Are there any criteria besides the econmic ones?
To give you a better picture: Transactions aren't being picked up and delete it from
the mempool. (
This must be where your confusion came from)
Mining Pools, Solo Miners, anything with Full Node (
eg. Bitcoin Core) have their individual mempool and it's constantly being updated based from their own/default rules and new transactions from their peers' mempool;
it will only be deleted or rejected if it was "
mined", didn't follow their set or default rules, input(s) were double-spent or transaction expired.
So each node's mempool shouldn't be too different than each other's.