Ну, вы пытаетесь освободить память, выделенную в стеке, используя delete, предназначенную для памяти, выделенной в куче.Там нет ничего удивительного!Вы также вызвали утечку памяти, так как не освободили то, на что изначально указывал pointer2.
pPointer2 = &var; // pointer is pointing to stack
...
delete pPointer2; // deleting in stack, undefined behavior (or just plain wrong)