Reference counting garbage collector