Actually that part wasn't too bad once the GC was working as I handle activation records more or less like normal ECMAScript objects.
Yesterday I finished an article (https://mras0.github.io/mjs/doc/gc/initial.html) on how I implemented the GC and some of the challenges, if you're curious.