Короче да. В ASP.NET запрос / ответ обычно обрабатываются в одном потоке ... нет четкого различия между "запросом" и "ответом", это просто ISAPI, передающий информацию запроса в обработчик ASP.NET, и он выполнит соответствующий код и написать вывод. (Хотя существует механизм для переноса запроса из одного потока в другой, когда ASP.NET находится под нагрузкой и должен эффективно использовать доступные потоки. Но я не уверен на 100% в подробностях, когда и почему это происходит. )
JavaScript и AJAX на стороне браузера не являются многопоточными, но некоторым это может показаться так, потому что вызовы AJAX являются асинхронными, а ответы - управляемыми событиями; то есть после отправки запроса на сервер поток JavaScript не блокируется. Можно отправить больше запросов на сервер, и ответы могут возвращаться или не возвращаться в том же порядке, в котором они были отправлены. Однако, поскольку в ядре действительно существует только один поток, если два ответа возвращаются одновременно, один будет блокировать выполнение другого до его завершения.