static void STARunner () { lock (threadLock) { do { try { workDelegate (); } catch (Exception ex) { workError = ex; } workDoneEvent.Set (); } while (Monitor.Wait (threadLock, 60000)); workThread = null; } } }