弱い参照ってなに?

弱い参照(weak reference)と強い参照(strong reference)とがあり、GCは強い参照だけでたどり着けないオブジェクトが回収されるらしいのですが……。
ということは、弱い参照で定義した場合はGCが実行されたときに必ず捨てられるってこと?
いつ消えるかわからないのなんて、恐ろしくて使えないような気がするんだけど。
なんに使うんだろう?
GCのタイミングにしかどうせ捨てられないんだから、すぐにいらなくなるんだったらその都度nil代入しておけばいいのに。


と思ったら、使わなくても特に問題ないって書いてありました。
なるほど。
なら無くてもいいんじゃ?