Само собой будет подвисать, даже просто чтение такого объема строк через обычный блокнот приведет к его зависанию. А тут еще и перемешивание с обновлением. Варианты решения: разбить это объем на небольшие партии и в дальнейшем уже работать с ними.
@iptips ну да. получаешь то что нужно, потом записать в файл. С галками дописывать файл и добавить символ новой строки. Потом прога вырубится, а файл останется.