基本的な違いは、弱い参照は GC の実行ごとに要求される (メモリ フットプリントを低く保つ) ことになっているのに対し、ソフト参照は GC が実際にメモリを必要とするまでメモリに保持する必要がある (寿命を延ばそうとしますが、いつでも失敗する可能性があります。これは、特にかなり高価なオブジェクトのキャッシュなどに役立ちます)。
私の知る限り、弱い参照が .NET のオブジェクトの有効期間にどのように影響するかについて明確な声明はありません。それらが真の弱い参照である場合、それらはまったく影響を与えるべきではありませんが、それはまた、キャッシュの主な目的のためにそれらをかなり役に立たなくするでしょう(私は間違っていますか?)。一方、それらがソフト リファレンスのように振る舞う場合、その名前は少し誤解を招きます。
個人的には、ソフト参照のように振る舞うと想像していますが、それは単なる印象であり、根拠はありません。
もちろん、実装の詳細が適用されます。.NET の弱参照に関連する考え方について質問しています。それらは寿命を延ばすことができますか、それとも真の弱参照のように動作しますか?
(多くの関連する質問にもかかわらず、この特定の問題に対する答えはまだ見つかりませんでした。)