pointers and destructors

stored variable onto the heap and then used delete to free it; without
any content in the virtual destructor it only frees originalMessage