1. A method for collecting cyclic garbage in a reference counting system having a plurality of nodes, N, interconnected through a plurality of edges, E, the method comprising the steps of: determining candidate nodes that are possibly part of cycles of garbage; and performing a number of operations on each candidate node, wherein the step of performing is N&plus;E in complexity and wherein the step of performing collects candidate nodes, and cycles defined by the candidate nodes, that are garbage.