Nevím, jak funguje vazba MongoDB C#, ale popište, jak to obvykle funguje:
Při použití IQueryable
je vytvořen strom výrazů, poté přeložen do formátu, kterému databáze rozumí, a poté spuštěn na databázovém serveru.
To má obvykle malou režii (konstruování stromu výrazů a jeho překlad) ve srovnání s přímým psaním dotazů ve formátu, kterému databáze rozumí.
S IEnumerable
místo výrazů se používají delegáti. Potřebuje iterovat celou datovou sadu a poté filtrovat pomocí Linq-To-Objects. Toto je mnohem pomalejší.