When analysing a heap dump of a long running application, it shows a large amount of memory held by a MethodCall finalizer. This finalizer holds a reference to another finalizer which contains a different MethodCall object and a reference to a different finalizer, and so on.
In the MethodCall class, the finalize method shows:
MethodCall.setMethodCall(this);
After deeper inspection of the finalizer stack, the method call references are not recursive, they are limited to MethodCall.RECYCLE_POOL_SIZE = 30 elements
When analysing a heap dump of a long running application, it shows a large amount of memory held by a MethodCall finalizer. This finalizer holds a reference to another finalizer which contains a different MethodCall object and a reference to a different finalizer, and so on.
In the MethodCall class, the finalize method shows: MethodCall.setMethodCall(this);