public void Dispose() { if (asyncLoading) { if (!sharedData.FormsToLoad.IsAddingCompleted) Complete(); WaitForCompleted(); } foreach (var w in workers) { w.Worker.Dispose(); } }