I make circular references a lot. Tonight when I was working on a new prototype, I made a blueprint that spawns blueprints and before the spawned blueprints get destroyed, calls a function in the spawner to say “hey it’s cool if you want to spawn another one”. I personally don’t worry about them to much and haven’t had any problems. One tip I can give though is make sure that all the blueprints in a circular reference system all save. If one breaks so do all the others, which is most likely the horror stories you’ve heard.