При определенных действиях, наблюдаю вот такую картину

Иногда это много пунктов в 1-2 мб, иногда три пункта в 15-20 мб.
Но это всегда фриз в 3 секунды.
Если вкратце, то это список из 1000 сложных дом элементов, отсортированный, отфильтрованный и сгруппированный.
Эти очистки происходят при перегруппировке, но дом элементы не удаляются/создаются, а перемещаются из группы в группу.
Хотелось бы оптимизировать это место, чтобы избавится от трехсекундного фриза, но у меня никак не получается понять, что именно чистит GC.
Таймлайн не показывает что там чистится, а только факт работы gc.
Пробовал делать два Heap Snapshot в профайлере и сравнивать их, но я не смог разобраться как увидеть что gc удалил, хоть и читал доки.
Помогите пожалуйста советом или инструкцией какой.