Может быть, это как-то связано с виртуализацией? Например, в сетке данных WPF виртуализация включена по умолчанию, но если вы поместите сетку данных в панель стека и не предоставите никаких ограничений ширины / высоты, то вы фактически аннулируете виртуализацию, так как панель стека позволяет сетке данных расти бесконечно, что создать DataGridRows для сотен тысяч элементов.
Я просто предполагаю, что тот же эффект может происходить с вашим пользовательским контролем. В WinForms управление хостингом, вероятно, предусматривает определенные ограничения ширины / высоты и не позволяет бесконечно расти пользовательскому контролю. В WPF, с другой стороны, в зависимости от того, как определено MainWindow вашего WpfApp, пользовательский контроль может расти бесконечно.
Попробуйте установить конкретную ширину / высоту для вашего пользовательского элемента управления или главного окна и посмотрите, улучшится ли производительность ...