sysmon triggers a GC if there haven't been any GCs for the last two minutes. This happens through forcegchelper, which calls startGC(gcForceMode). gcForceMode performs a STW garbage collection, but this periodic GC should be concurrent.
This is the only use of gcForceMode, which suggests that this probably arose in some transformation and the consequences of this were simply overlooked.
The fix may be as simple as calling startGC(gcBackgroundMode) and getting rid of gcForceMode.
@RLH @rsc