ガベージコレクション
例えば、メモリを動的に割り当てるサブルーチン(C言語のmalloc関数やPascalのNew手続きなど)で確保したメモリ領域を指すポインタだったが、メモリを解放するサブルーチン(C言語のfree関数やPascalのDispose手続きなど)に渡し解放した直後のポインタや、サブルーチン内の自動変数(非静的なローカル変数)のアドレスを指すポインタだったが、戻り値などによって誤ってサブルーチンの呼び出し元に返却されてしまったポインタ、などが該当する。これらのポインタにはあるアドレスが代入されているが、そのアドレスには有効なオブジェクトがすでに存在せず、ポインタは無効なメモリアドレスを指している。このような無効なポインタをダングリング・ポインタ (dangling pointer) といい、ガベージコレクションはこの問題を回避する。
ただしガベージコレクションにおいても、今後使用することのないオブジェクトへのポインタをいつまでも保持しているようなコードでは、いつまでもオブジェクトが解放されず、メモリ不足を起こしてしまう。