function gc() {
  memory.allocated.forEach(vTree => {
    // Scrub a VTree of attributes and childNodes to avoid ever increasing RAM.
    vTree.attributes = {};
    vTree.childNodes.length = 0;
    vTree.key = EMPTY.STR;

    // Make the VTree available for future renders.
    memory.free.add(vTree);
    memory.allocated.delete(vTree);
    NodeCache.delete(vTree);
  });
}
Collects any unused VTrees and puts them back into circulation. Scrubs all
attributes and childNodes from the object to minimize memory impact. This
function is scheduled after each render with either setTimeout or
requestIdleCallback.

This is also called automatically during tests to ensure all objects are
tracked correctly.

@return {void}