Pause / Resume operations are realized with WaitHandles, e.g. the ManualResetEvent:
ManualResetEvent continueEvent = new ManualResetEvent(true);
continueEvent.WaitOne();
continueEvent.Reset();
continueEvent.Set()
(
Source[
^], but please google yourself the next time)