Ler arquivo TXT grande, exceção de memória insuficiente

Eu quero ler grande tamanho do arquivo TXT é de 500 MB, primeiro eu uso

var file = new StreamReader(_filePath).ReadToEnd();  
var lines = file.Split(new[] { '\n' });

mas ele jogou fora da memória Exception então tentei ler linha por linha mas novamente depois de ler em torno de 1.5 milhões de linhas ele jogou sem memória Exception

  using (StreamReader r = new StreamReader(_filePath))
         {            
             while ((line = r.ReadLine()) != null)            
                 _lines.Add(line);            
         }

ou eu usei

  foreach (var l in File.ReadLines(_filePath))
            {
                _lines.Add(l);
            }

mas mais uma vez recebi

Uma exceção do tipo 'System.OutOfMemoryException' ocorreu em mscorlib.dll, mas não foi tratada no código do usuário

My Machine é uma máquina potente com 8GB de memória RAM, por isso não deve ser problema da minha máquina.

p.s: tentei abrir esse arquivo no NotePadd ++ e recebi a exceção 'o arquivo é muito grande para ser aberto'.