Quando usar referências fracas no .Net?

Pessoalmente, não deparei com uma situação em que precisei usar o tipo WeakReference no .Net, mas a crença popular parece ser que ele deve ser usado em caches. O Dr. Jon Harrop apresentou um argumento muito bom contra o uso de WeakReferences em caches na resposta a esta pergunta. Também ouvi...