Зачем это нужно? Чтобы сделать обьекты на памяти выделенной malloc и потом можно чистить с помощью free? Логично, но это такой стремный костыль, что даже представить сложно зачем это нужно
Вкратце - можно переопределить оператор new, чтобы управлять выделением памяти самостоятельно. С другой стороны, возможно, кто то переопределил его неудачно, и пришлось избегать его вызова.
Если этого нет, то тогда смысла использовать эту конструкцию нет.
Для того, что бы память выделить надежнее. Типа «разрешите войти» спросить два раза.
Ну а если серьезно, то похоже на ручной рефакторинг кода глубокой ночью на автомате.