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