Is there a way to see exactly what objects the GC is recycling during “Major GC” events in the profiler?

I’m currently writing an Electron/Typescript based game with a render loop. I’ve been developing it for about a year but have only just discovered that the game has horrible memory issues if the render loop goes on too long (while profiling performance, I eventually see “Major GC” events that cause lag and interrupt/skip frames. I believe there must be an object that’s not being correctly managed somewhere (I’ve tried to adhere to high performance best practices, memory pooling, no new allocations during render, etc.)

Is there any way that I can see exactly what the GC is recycling during these frames so I can isolate the leak?

I’ve tried profiling memory, but this only seems to show new allocations rather than what’s being deallocated (I create large pools of objects at the start of rendering, and I guess some of them are not being recycled properly). There doesn’t seem to be any way through the performance tab to dig any deeper into what’s actually happening in the major GC frames. I’ve tried console logging out every allocation I think I’m making and counting when they’re returned to the pool, but nothing obvious is emerging.