If you've got a memory issue and it doesn't show up in JavaScript heap stats then there are two main possibilities that I've come across. You could have a large DOM or you could have impact from frequent GC. If the impact is from frequent GC you'll see the time spent in the Chrome Developer Tools timeline Profile. Look in the Bottom Up pane and you can search for "GC". If it's not GC then you might just have large DOM. When JavaScript adds elements to the DOM it can de-reference the elements and clean them up with GC. But the elements are still there in memory and bloating the webpage. Since Chromium uses a separate process for each tab with a 4G heap limit per tab you only can get so big.
There have been a couple times when I thought I had a memory issue but really it was an issue with a tight scripting loop that was hogging CPU. Often this is related to some part of the UI that is constantly "reflowing". Look up "how to diagnose forced reflows" to see what I mean. You might see the message "[Violation] Forced reflow while executing JavaScript took ms" in the Console logs. Other times I've found the root cause of tight scripting loops by observing the Network tool in Chrome Developer Tools and noticing a repeating request. You can inspect the call stack of the repeating transaction in the Initiator tab when you click on a particular request/response.