C++の入門書にはnewしたら必ずdeleteしろとありますけど
int main()
{
 int* p = int new;
 return 0;
}
とすると、プログラムが終了した後もnewで確保された4バイト分のメモリ領域は
OSからみると、使っちゃいけない領域と思っているのですか?

プログラムが終了したら、そのプログラム内で確保された領域は
OSが自由に使えるとしたら、ギガバイト単位でメモリを搭載している最近のPCなら
特にこだわる必要がないように思えます。(まぁ、4バイトなら・・・)