Hast du tatsächlich genau den Code mal ausprobiert?
Sieht für mich aus als müsste das funktionieren.
Wobei ich mit der LINQ Syntax nicht so vertraut bin, habe LINQ immer "manuell" über die entsprechenden Methoden aufgerufen.
Von daher: Bist du dir sicher, dass der gesuchte String (case-sensitiv!) auch so irgendwo in einem der Objekte enthalten ist?
Edit: Dein Beispielcode funktioniert (wenn man die (Syntax)fehler behebt):
https://dotnetfiddle.net/CEOxGl
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."