Фактически, класс CsvReader представляет из себя энумератор стро, каждая из которых - энумератор колонок. Чтение исходного файла происходит по мере продвижения по энумератору. При таком подходе память классу практически не нужна. Полное соответствие RFC4180 Очень высокое быстродействие Нет внешних зависимостей (pure .NET code)
github.com/shvydky/csvreader