Do I need a full node to perform OP_RETURN transactions?
You do not need to run a full node in order to submit a transaction, regardless of which OP codes that transaction contains.  Any node that can submit transactions to the Bitcoin network will do.

What you should look for instead, is a library in your chosen language that allows you to construct transactions manually, rather than using templates for typical payment transactions.  Once you have a transaction constructed, you can broadcast it to the network via whichever type of node you feel like.