freeing memory on ::up exception throws