All references have ranks, not just roots.
Use gc_start messages to robustly determine whether a collection started (rather than the unreliable mps_collections).