Eclipse MAT 1.17.0 batch report (org.eclipse.mat.api:suspects) on heap.hprof -- Problem Suspect 1 ================================================================================================ Problem Suspect 1 One instance of java.util.concurrent.LinkedBlockingQueue loaded by occupies 79,698,088 (92.41%) bytes. The top consumers of its minimum retained heap are byte[] (152 instances totaling 79,694,208), java.util.concurrent.LinkedBlockingQueue$Node (153 instances totaling 3,672), and java.util.concurrent.locks.ReentrantLock$NonfairSync (2 instances totaling 64). The instance is referenced by com.ankurm.oomdemo.UnboundedQueueLeakApplication$$Lambda+0x000000000b25d428 @ 0xf63bb570 , loaded by org.springframework.boot.loader.launch.LaunchedClassLoader @ 0xf631bab8 . The memory is accumulated in one instance of java.util.concurrent.LinkedBlockingQueue$Node , loaded by , which occupies 1,572,984 (1.82%) bytes. Thread java.lang.Thread @ 0xfcc19e38 main has a local variable or reference to java.util.concurrent.LinkedBlockingQueue @ 0xff7386e8 which is on the shortest path to java.util.concurrent.LinkedBlockingQueue$Node @ 0xfccce5c0 . The thread java.lang.Thread @ 0xfcc19e38 main keeps local variables with total size 632,832 (0.73%) bytes. The top consumers of its minimum retained heap are byte[] (152 instances totaling 79,694,208), java.util.concurrent.LinkedBlockingQueue$Node (153 instances totaling 3,672), and java.util.concurrent.locks.ReentrantLock$NonfairSync (2 instances totaling 64). Significant stack frames and local variables com.ankurm.oomdemo.UnboundedQueueLeakApplication.la mbda$driveLeak$0(Lorg/springframework/boot/ApplicationArguments;)V (UnboundedQueueLeakApplication.java:53) java.util.concurrent.LinkedBlockingQueue @ 0xff7386e8 retains 79,698,088 (92.41%) bytes The stacktrace of this Thread is available. See stacktrace . See stacktrace with involved local variables .