The recent events, where people store big data on the blockchain in the witness (like images) showed that the dispute about this topic was not settled during OP_RETURN discussion. Some people like the idea that every payed transaction is not a spam, some don’t.
I suggest that users could set the transaction size limit in the configuration file that will make node drop transactions from the memory pool that are larger. This way node operators would decide what kind of transactions gets relayed via their node.
Alternatively this limit could be on the consensus layer, but I don’t think it is a good idea.
If I would get some help, I can try to implement this feature (no guarantee of success, because i don’t know the Bitcoin Core codebase yet, however I have some experience in programming).