This is amazing and blazing fast.
Josh Tischer
1

So any profile is just a list of the nodes that remain on the heap over a period of time. One would expect that, given proper GC, a heap would remain mostly constant — some memory would be allocated, and then would be cleaned up after it’s done being used.

A steadily growing heap over time, especially during repeated actions, is a sign of a memory leak. You would see this, not with circles of increasing size but rather with the total number of circles increasing.

Finding specific nodes is trickier. I suggest checking the edges and retainers of a node — edges in particular can give clues as to the true nature of the node.