Читая запись в блоге Эрика Липперта , я натолкнулся на этот фрагмент:
... вы собираетесь зацикливаться вечно (если вы в архитектуре, которая может оптимизировать хвостовые вызовы ) или выйти из стека и завершить процесс.
Я знаю, что компилятор может оптимизировать хвостовую рекурсию ,но что означает архитектура, которая может оптимизировать хвостовые вызовы ?
Это означает, что .NET JIT на x64 ведет себя иначе, чем JIT на x86 - x64 применяет оптимизацию хвостовых вызовов гораздо агрессивнее. это из 2009 для некоторых деталей реализации ( не зависит от некоторых) для некоторых из следующих правил.