Can you somehow avoid needing full GC?
nbind-based bindings have a (currently undocumented) feature that calling a
toggleLightGC method causes all objects passed by value or shared pointer from C++ to JavaScript always get freed on the next tick, unless their
persist method is called. That means if you have some small JavaScript algorithm generating temporary values, at least those will be "garbage collected" automatically. Is your issue simply one of convenience, that might be fixed if you only had to explicitly keep things rather than explicitly free them?