I've been painfully determining what can and what cannot be pruned in our WPF type application. I had narrowed down a set of problems to a namespace full of interfaces, but that namespace also included the equivalent of implementation classes.
In the end, it turns out a few implementation classes had some methods that weren't part of their parent interfaces that were being cut out.
Anyway, got me wondering if I ever have to worry about [DoNotPruneType] on an interface.
So far, anything remotely behaving like a View Model in the MVVM pattern cannot be pruned. S/A doesn't check for property usage w/in XAML. And since WPF binds everything as "object", I doubt it could anyway.