El proceso salia con exit en lugar de return. Al salir con exit no se llama a los destructores de los objectos (fuente: stackoverflow). Las pruebas que hice me dieron que no hay leaks.