>>675
String str = "hoge";
Foo.bar(str);
str = null;
(Foo.barというのは、中身がわからないメソッドです)

こういうコードを実行したときに、"hoge"がどこかに保持されているか?を知りたいのです。(実際はずっと複雑なコードです)
こういうコードを実行した場合、Foo.barが勝手に「どこか知らない所」に"hoge"を保持してる可能性がありますよね?
その場合、"hoge"はstrからは参照されていないが、「どこか知らない所」から参照されているので
ガベージコレクションの対象にならないので、strを開放できないのです。

「どこか知らない所」を特定するために、保持されているかどうかだけでもわかれば良いのですが。