Simply executing myDiagram.model = go.Model.fromJson(…) should be sufficient to remove all traces of the old model and any pieces of the diagram used to display it. Calling clear() or replacing the data Arrays isn’t needed if you are about to replace the Diagram.model. (I assume you were just trying different things, experimenting.)
I don’t have an iPad handy at this moment, but I’m unable to reproduce any problem on my Android tablet. I’ve clicked the “Load” button more than 30 times.
In recording heap allocations in Chrome on my desktop, I do not see any memory being retained, even after a dozen loads of the MindMap sample’s model.
How are you detecting that there is a memory leak? And in particular, how are you detecting it on your iPad? Are you looking at the actual number of live objects?