Возможно (только предположение) это как-то связано с фрагментацией памяти. Если вы интенсивно продолжаете выделять и освобождать временную память, но каждый раз, когда вы делаете это, вы выделяете какую-то долгосрочную предполагаемую память после выделения временной, но до ее освобождения вы можете получить фрагментированную кучу (я полагаю).
Таким образом, get_teilitary_buffer может быть предназначен для того, чтобы быть частью памяти, которая больше, чем вам нужно, которая выделяется один раз (возможно, есть много блоков, готовых для принятия нескольких запросов), и каждый раз, когда вам нужна память, вы просто получаете один из кусков. Так что память не фрагментируется.