Here's a scenario. Memory keeps climbing in production until the pod restarts, and you can't reproduce it locally. How do you actually find the leak?
You can tell a strong answer because they've actually walked a retainer path in a snapshot diff and know what a snapshot costs on a big live process
I'd go with heap snapshots. Take one snapshot, let the process run and grow for a while, take a second one, and then use the comparison view in Chrome DevTools to see which object types grew between the two. If I can't attach DevTools, there's v8.writeHeapSnapshot() or the inspector protocol to dump snapshots to disk. Once I can see what's accumulating, strings or closures or some specific class, I'd look at its retainers to find whatever's holding it. Usually it's a cache with no eviction, or event listeners getting added over and over and never removed, or closures capturing large data. Since it only shows up in production, I'd try to reproduce it under realistic load in staging, or maybe snapshot a production instance carefully. And I'd watch process.memoryUsage() over time to confirm it's really heap growth and not something else.