I have an application where I create multiple UI threads for performance reasons. If I use the ThemeManager in this application it will crash when I load a window on any thread other than the main thread of the application. This seems to be because the ThemeManager is a singleton and is bound to the main UI thread.