Большинство других ответов сосредоточены на вопросе «что такое функциональность» в вопросе ОП.
Я верю, что это ответит на вопрос, когда и почему:
Когда вам это нужно?
Для лучшей производительности в худшем случае с локальностью кэша нескольких маленьких массивов.
Теперь в среднем приложении это вам не понадобится, но для сценариев, чувствительных к реальному времени, оно дает более детерминированную производительность: GC не задействован, и вам гарантированно попадание в кэш.
(Потому что производительность в худшем случае важнее, чем средняя.)
Имейте в виду, что размер стека по умолчанию в .net маленький!
(Я думаю, что это 1 МБ для обычных приложений и 256 КБ для ASP.net?)
Практическое использование может, например, включать обработку звука в реальном времени.