Interesting paper on reference counting that claims this out-of-fashion approach to garbage collection can still be competitively performant:
http://users.cecs.anu.edu.au/~steveb/downloads/pdf/rc-ismm-2012.pdf
I actually think some of the core claims in the paper are wrong or at least unjustified but it is an interesting idea.
Note that Mathematica is a functional language that cannot allow cycles to be constructed by design and uses reference counting for garbage collection.
--
Dr Jon Harrop, Flying Frog Consultancy Ltd.