How does a C# LINQ Query execute and How does this affect Performance?