No sé cómo funciona el enlace MongoDB C#, pero describe cómo funciona normalmente:
Al usar IQueryable
se construye un árbol de expresión, luego se traduce a un formato que la base de datos pueda entender y luego se ejecuta en el servidor de la base de datos.
Por lo general, esto tiene una pequeña sobrecarga (construir un árbol de expresiones y traducirlo) en comparación con escribir consultas directamente en el formato que comprende la base de datos.
Con IEnumerable
se utilizan delegados, en lugar de expresiones. Necesita iterar sobre el conjunto de datos completo y luego filtrar usando Linq-To-Objects. Esto es mucho más lento.