Uncollectable reference cycles are shockingly easy to make in JS, especially with React. A classic example:
function closure() {
var smallObject = 3;
var largeObject = Array(1000000);
function longLived() { return smallObject; }
function shortLived() { return largeObject; }
shortLived(); return longLived;
}
Will keep largeObject alive.