The root cause of this crash was the instantiation of a Dispatcher on multiple threads (2000-3000) without shutting down the Dispatcher after the work for the specific thread is done. With this in mind, when creating threads that work with DependencyObjects, make sure that the Dispatcher is shutdown after the work for the thread is finished:
var thread = new Thread(() =>
{
// This creates a Dispatcher artificially, however it will also be created if any DependencyObject is instantiated
var disp = Dispatcher.CurrentDispatcher;
// This makes sure to shut down the Dispatcher for that thread after the work is don
Dispatcher.CurrentDispatcher.InvokeShutdown();
});
Regards,
Vladimir Stoyanov
Progress Telerik
Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.