We've tested it successfully with up to 8 MB of metadata per transaction. But to allow that you need to increase these blockchain parameters:
maximum-block-size
max-std-td-size
max-std-op-return-size
Also note that if you do a lot of transactions of this size, you will come up against the limitations of the current wallet.