Само собой будет подвисать, даже просто чтение такого объема строк через обычный блокнот приведет к его зависанию. А тут еще и перемешивание с обновлением. Варианты решения: разбить это объем на небольшие партии и в дальнейшем уже работать с ними.
@Cadavez нужно обработать ошибку и поставить ему задачку что скрипту делать если ошибка, а ошибка возникает когда скрипт не находит то что ищет через сколько то секунд. Подефолту кажется 60 секунд. Можно ещё использовать "Проверить существования элемента" и if элемент == false завершить работу