C++だと、動的確保って

int *a = new int;

/*
aを使った処理
*/

delete a;

みたく書くと思うけど、deleteしないとアプリケーションを終了させても
確保されっぱなしだよね?
free()不要とか言ってるやつは、上記でいうdelete不要って言ってるのと
同じだよね?