Did you mean to remove the original EvalContextHeapRemoveHard() here? Looks like the top one might remove the old time classes (without GMT) on both loop iterations.