Leer archivo grande TXT, excepción de memoria insuficiente

Quiero leer el tamaño del archivo TXT grande es de 500 MB, primero lo uso

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

pero tiró de memoria Excepción, entonces intenté leer línea por línea, pero de nuevo, después de leer alrededor de 1,5 millones de líneas, tiré de memoria Excepción

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

o utilicé

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

pero otra vez recibí

Se produjo una excepción de tipo 'System.OutOfMemoryException' en mscorlib.dll pero no se manejó en el código de usuario

Mi máquina es una máquina potente con 8 GB de RAM, por lo que no debería ser mi problema con la máquina.

p.s: intenté abrir este archivo en NotePadd ++ y recibí 'la excepción del archivo es demasiado grande para ser abierta'.