I know that weak references are a good candidate for memoizing potentially large sets of data, and Wikipedia's article on weak references only lists "keeping track of the current variables being referenced in the application" and the statement "Another use of weak references is in writing a cache".
What are some other situations (more specific than just "caching results") where the use of weak references is A Good IdeaTM?