Dico che parti da un presupposto sbagliato.
La new (e la delete) si usano per creare (distruggere) un oggetto di una determinata classe.
La new, oltre ad allocare la memoria usata dai dati dell'istanza, esegue anche il costruttore tramite il quale possono essere eseguite istruzioni anche complesse ...
La delete, ovviamente, esegue il distruttore , con tutto il codice che ne consegue.
E' quindi una cosa molto diversa dall'uso di malloc/free.