c# list removeall without predicate