Right now, it is not easy to disable styles for standard controls like Button.
Especially when using NoXaml.
You have to create an Empty style on Application level for the control to "rewind" its style.
I do believe this kind of style drags down performance of controls when unloading, since it causes StyleChanged events.
Some explanation about performance (how things work to my understanding). Might be BS, but I spend a few hours debugging through .net code to get this idea:
Issue is, that when control is unloaded, its not part of the logical / visual tree of the application anymore, so it falls back to styles defined on assembly level.
e.g. Themes/Generic.xaml. So the empty styles defined on Application level do not count anymore, but the ones you defined in your theme.
This can be observed on RadTabbedWindow. When unloading pages (like switching between them), controls fall back to the styles defined in the theme from Telerik.Windows.Controls.Navigation, because they are still children of that page.
You can observe this behaviour if you set a Breakpoint in FrameworkElement.OnStyleChanged before unloading a control tree.
If you'd remove the System.Windows.xaml from your theme-dictionaries so that one can decide to merge those styles or not, that would be great.