Я обнаружил, что при наследовании от ApiController поведение такое, как и ожидалось, поэтому я собираюсь использовать это. Все еще не уверен, почему происходит зависание от стандартного контроллера MVC, но, как предполагает Стивен Клири, это возможно связано с состоянием сеанса.