ля, пойду откатывать обратно на маллок
Единственное, что я могу предположить, у тебя на каждый вызов функции идёт аллокация массива на стэк. А с маллоком может быть такое, что система один раз выделила тебе память и при деаллокации держит эту память как бы за этим процессом, вдруг он ещё раз её возьмет.