Лаг может возникать из-за нескольких причин.
Первая причниа - долгая загрузка или создание элементов. Тогда, как пишет
Михаил Усоцкий, следует вынести загрузку в другой поток.
Вторая причина - долгая отрисовка в WPF. В данном случае поможет виртуализация. Если у вас используется ItemsControl, то стоит его заменить на ListBox - в ItemsControl не работает виртуализация.
<ListBox VirtualizingStackPanel.IsVirtualizing="True" ItemsSource="{Binding ...}" />
Если у вас используется нестандартный ItemsPanel, то нужно также использовать панель с поддержкой виртуализации. В стандартном WPF такая одна - VirtualizingStackPanel, аналог StackPanel. Какие-то другие придётся писать самому или искать уже кем-то написанные.