Assume that there are two queries running on a memory list;
First query (employing extension methods):
var temp = listX.Where(q => q.SomeProperty == someValue);
Second query:
var temp = from o in listX
where o.SomeProperty == someValue
select o;
Is there a difference between two queries in terms of performance; and if there is, why?
No, there is no difference at all. The compiler internally transforms the second version to the first one.
The C# specification (§7.6.12) states: