Simple streaming parser to extract lines
This looks like they used to be fields and then you made them properties:

public readonly string Delimiter;
public readonly LineReader Reader;


IMHO that means they should get a getter and setter, like this:

public string Delimiter { get; private set; }
public LineReader Reader { get; private set; }




String.LastIndexOf is culture-specific, so consider using a StringComparison.