GLIB seems to dispatch tasks in the same run loop iteration as they were submitted in This discrepancy makes it harder to test exact behavior vs run loop iterations see MAYBE_DispatchInRunLoopIterationDispatchesOnNextIteration1