Однозначного ответа вряд ли кто даст. Но я бы поочерёдно (или все одновременно) попробовал следующее:
- Выключить кэш у Image
- Если filesList - ListView - поиграться со стратегией кэширования
- Сохранять картинки в папку для временных файлов и брать их оттуда. Хз как себя ведёт ImageSource.FromStream при кэшировании картинок. Надо смотреть исходник
Замечания по коду.
var music = Directory.GetFiles(pathtomsc, "*mp3") ;
Лучше использовать асинхронные методы, что бы интерфейс (основной поток) не стопорился при длительной работе методов
Musicinfs = new List { };
Лучше ObservableCollection использовать, особенно при изменении данных в коллекции.
filesList.ItemsSource = Musicinfs;
Данные должны биндиться, а не присваиваться. Тогда и приседание с filesList.ItemsSource = null; и filesList.ItemsSource = Musicinfs; исчезнет