Threads is a collection and not an IEnumerable<>, so the following would work 

 var thread = process.Threads.Cast<ProcessThread>().FirstOrDefault(t => t.Id == threadId);