Ensure not to miss the force_gc flag
Setting the force_gc flag currently depends on the first call scheduling the GC, with all subsequent requests have the flag ignored (doesn't matter if enabled or disabled). This happens with variable frequence, making the GC effectiveness semi-random.
For the big hammer to really make honor to its name, the force_gc flag shouldn't be lost whenever the idle is already scheduled, in order to ensure every toggle ref going down is followed by a GC.