public IAsyncResult BeginInvoke(Delegate method, object[] args) { lock (_LockObject) { if ((_Thread.ThreadState & ThreadState.Unstarted) != 0) { _Thread.Start(); _Initialized.WaitOne(); } } try { return _Form.BeginInvoke(method, args); } catch (InvalidOperationException e) { EventLogWriter.WriteEntry($"BeginInvoke 724 :Method: {method} Args[0]: {args[0]} - {e.Message} : {e.StackTrace}", EventLogEntryType.Error); if (!_Form.IsHandleCreated) throw new ObjectDisposedException(GetType().ToString(), e); throw; } }