I almost never use either, and there is a trivial variant of a queue that doesn't share the problems. Intuitively, you risk unbounded retention when adding back pointers everywhere would make much more data reachable. Thus circular data structures are not only fine, they're optimal in this sense. I don't understand the issue. At most you will retain the HashMap when it should have been inaccessible, potentially doubling the space requirements.
Cycles are fine.
I haven't seen any evidence of that.