@John Melville-- MD: It's not that "LINQ is slow" per se, rather, it is that most LINQ scenarios create some kind of collection pressure, either by allocating an iterator, or because Join is building a table behind the scenes, or whatever. We have large, long-lived, complex data structures and we're concerned about triggering too many collections.