Могу ошибаться, но тем не менее, запрос с ToUpper в C# driver mongoDb выглядит не очень оптимальным. Увы, сейчас нет возможности проверить, но скорее всего для более быстрого решения этой задачи придется создать поле-индекс, в котором уже хранить имя и/или фамилию в upper case, для быстрого к ним доступа через регулярку.
Также многие разработчики на .NET MVC считают, что обращения к базе данных прямо из контроллера, равно как и вывод данных на вьюхе через ViewData - это моветон.
Я, увы, не могу написать вам сообщение на хабре, из-за вашего режима ридонли, однако же могу предложить вам поупражняться с подобными задачами на моем проекте, который как раз на ASP.NET MVC + mongoDb/MSSQL. Напишите в Skype v_qilin, если вам интересно.