private void CancelEngine() { if (_engine != null) { Thread t = new Thread(delegate() { try { _engine.Canceled(); } catch { } finally { _engine = null; } }); t.Start(); } }