Btw, this is an unsolved issue with the BCH mempool. Memo uses a custom node which does not handle double spends. I wrote about this before - https://jasonc.me/blog/bitcoin-bip-133-double-spends-bch
I think the blame for this lands on the people accepting the low-fee transactions. They're the ones breaking expected behavior.
Let every transaction be relayed - then the receiver can use CPFP to get it confirmed. Wallets could warn the user if the the fee is very low and probably won't get into a block.