Почему построчное считывание очень большого csv файла может завершиться ошибкой?

Если у мне нужно считать csv файл на миллионы строк, разве StreamReader и метод ReadLine в цикле не будут хранить в памяти только текущую строку и текущее смещение строки от ее начала? Откуда тогда может быть ошибка из-за потребления памяти?

using (var sr = new StreamReader("file.csv")) {
    while (!sr.EndOfStream)
    {
        var s = sr.ReadLine();
        // Запись в БД
    }
}

Ответы (0 шт):