... and here it comes: How I Learned to Stop Worrying and Love OutOfMemoryError
Go go go, read it! ;)
I have found this article while searching something exactly like it on StackOverflow: SoftReferences vs Weakreferences / OutOfMemoryError so I'm just (re)sharing it.
All my interest about java references' is thanks to Marek Defeciński and his todays speech about them (you can easy find him @ web - he's well known megrer on GitHub* ;) )
(* - Jacek Laskowski today talked about GitHub and it's social aspect that motivates people to constant growing their skills - great job!)