In this example one byte overflow didn't lead to crash on my machine, and in reality, the error would have remained undetected. These errors can be detected by enabling full page heap verification by setting up global flags like below.

gflags /p /enable TestSilentCorrupt.exe /full

When you execute the program it now crashes when delete() is called.

It remains a question for me that the copy of 5th byte why it is associated in the block with delete() rather with memcpy().