В новых / удаленных файлах нет ничего, что мешало бы вам выделять и освобождать в отдельных потоках. Как уже говорили многие, в стандарте ничего не говорится о многопоточности - здесь нет поддержки многопоточности, и нет ничего, что мешало бы вам сделать это с помощью любого из стандартных средств. Это хорошо и плохо, так как вы можете делать все, что угодно, но язык не предоставляет прямого механизма, который бы помог вам сделать это безопасно.
Однако существует множество потенциальных технических проблем, с которыми вам, возможно, придется столкнуться. Многие компиляторы имеют многопоточные и однопоточные версии библиотек времени выполнения, которые реализуют new & delete, поэтому вы должны быть уверены, что используете правильный. (VS 2008 покончил с однопоточным CRT, так что это не проблема). Более того, ваше программное обеспечение должно быть разработано с нуля, чтобы оно поддерживало многопоточность, и это самая большая проблема для нас. Ресурсы должны быть защищены, право собственности должно быть ясным, и вы должны избегать тупиков и условий гонки. Но хотя это, пожалуй, самая важная и трудная задача, с которой вы сталкиваетесь при распределении и освобождении в отдельных потоках, это не имеет прямого отношения к вашему вопросу, поэтому я оставлю это для другого обсуждения.