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