Если я уверен, сколько памяти потребляет моя программа и место где я эту память выделяю на стеке не вызывает множество других подфункции где память стека требуется
По сути, память выделяется только при сериализации данных и в дальнейшем копирования сериализованных данных в буфер библиотеки сети, а затем вызывается return и получается что память стека для того буфера освобождается
То есть, прежде чем выделять 65кб я впринципе оценил где я это делаю и даже глянул сколько на текущий момент жрется стек на момент вызова той функции где я и выделяю 65кб