I agree on the test case.
Chances are pretty good that the test case will work fine. Then you can tell us about if you have any custom controls, etc… Stock JME code won’t do this. I add/detach things from the scene graph all the time without issue and I do this constantly and have run apps for many hours with them not going above 33% memory usage (out of 1 gig).
Edit: else if you are already in the profiler, take a memory snapshot and see what’s hanging around, what’s referring to it, what code created it, etc… which is what I’d do if it were my own code. (I haven’t run a memory profiler in more than 7 years so I don’t know the specific ‘how’ details anymore… but even that should tell you something.)