This rings the "circular dependency" bell in my head. But I was wondering if there are known accepted use cases for this.
Just to illustrate with some Python:
class A:
pass
class B:
pass
a = A()
b = B()
a.b = b
b.a = a
Can we ever make the case for this being the ideal implementation for something? In other words, will you ever find this pattern recommended in a good programming book?

The question is, I think, should you really contain the entire class, or just a reference towards it? (I honestly believe that a reference should be sufficient in most cases)