When a new node connects to the network, other nodes start to share new transactions with this new node they got. But do they share their mempool, when a node disconnects from the network for some time for example? I think that the mempool size is too large and it would be difficult to share their mempool state, but maybe I'm wrong...
I'm not a programmer. I believe it is possible to spam the mempool if nodes would keep the entire mempool. A single person can generate 1M transactions by burning 0.5 BTC. The mempool would be unable to store all of the valid transactions due to RAM usage. I suppose some nodes might keep some mempool transactions while keeping others on different nodes.