This links may help
you.
http://www.careerride.com/Csharp-what-are-circular-references.aspx
http://stackoverflow.com/questions/400706/circular-references-cause-memory-
leak
http://stackoverflow.com/questions/2775520/c-sharp-garbage-collector-cross-reference