Negative map IDs causes memory leak when updating ItemFrames
Steps to reproduce (vanilla)
Steps to reproduce (modded server)
I would not submit a bug report if this was a server side memory leak. This is a client-side memory leak. I do not know if this has to do with pushing texture data for mini-maps when changing items on the ItemFrame, or if the metadata stores native item stacks in some way that is building up.
The way to reproduce the memory leak is to send repeated changes to ItemFrames with item data, linking to pre-existing map ID's that are already sent to the player. I did this using Spigot's API and sending a series of 10 128x128 static mini-maps, repeatedly changing each ItemFrame every 10 ticks (1/2 second).
For some reason, this causes the client's RAM allocation to jump dozens of megabytes per update (16x9 ItemFrames).

This is what the board looks like. The board occasionally updates with invisible mini-maps every 5 or so updates, however I could assume that to be an issue with anything outside of the original minecraft code as I have fixed this using NMS packet code, although it may be worth noting.