I'm sorry for the late reply.
We have two types of assemblies – normal and NoXAML.
Normal assemblies include XAML for ALL themes. If you use several of our assemblies the framework will load all ResourceDictinoaries in our assemblies (even when no theme is changed). There is no need to cache them because WPF loads them once (and cache them).
They are a lot because we have a lot of XAML to cover all theme (still not thousands). So if you are using custom theme based on windows 8 then you could use our NoXAML assemblies.
Our NoXAML assemblies contains only code (no XAML) which leads to smaller assembly size, faster application start-up and will reduce memory footprint.
Is this an acceptable solution?