Вас может заинтересовать мой опыт работы с Freezable:
Однажды я написал программу просмотра PDF с использованием muPdf, который отображает растровые изображения, которые я отображаю с помощью WPF. Производительность сильно влияет на то, что я могу отображать растровые изображения страниц в фоновом потоке, замораживать их, а затем передавать их в поток пользовательского интерфейса. Хорошо, что WPF не копирует изображение, чтобы заморозить его, но возможность сделать всю эту подготовку в фоновом потоке была для меня ключевым преимуществом.
Из того, что я понимаю, все визуальные элементы должны быть заморожены, чтобы они могли безопасно отображаться потоком рендеринга WPF. Если вы визуализируете большие незамерзающие визуальные эффекты, они будут клонированы к замороженным, когда их визуализирует WPF. Если вы заранее заморозите свои статические растровые изображения, WPF может просто поделиться указателем с потоком рендеринга без клонирования. Незамороженные объекты могут даже копироваться повторно, если WPF не знает, изменяется ли объект с момента последнего отображения. Замороженные объекты исключают необходимость всего этого копирования.