Hi, thanks for sharing this issue!
The reason behind this is that the resolution of NCrunch's code coverage is constrained by the debugging information emitted by the language compiler. In this particular circumstance (i.e. chained LINQ expression), the compiler isn't emitting debug information for the chained method calls that make up the statement, and thus NCrunch cannot differentiate between the lines and treats them as an individual line of code.
The effect of this is also very noticeable when using a debugger. You may find that it's impossible to place a breakpoint under any of the individually chained method calls - as the debug information simply isn't there in the PDB file.
On principle though, I certainly agree that this looks out of place. It would be more useful if the resolution of the code coverage was able to differentiate between the method calls, thus allowing you to observe the logic flow between them.
Unfortunately, there isn't really a way to correct this problem without changing the C# compiler (or entirely decoupling NCrunch from it, and using a different method - which would be quite a bit of work!).
Cheers,
Remco