So basically i have this method.
public List FilterCustomersByStatus(List source, string status)
{
return (List
As others pointed out, you need to use ToList to convert the result to List.
The reason is that Where is lazily evaluated, so Where does not really filter the data.
What it does is create an IEnumerable which filters data as needed.
Lazy evaluation has several benefits. It might be faster, it allows using Where with infinite IEnumerables, etc.
ToList forces the result to be converted to List, which seems to be what you want.