Ten en cuenta que clases recursivas muchas veces es un anti-patron.
Igual a que esas clases sean forms (deberias comunicar datos, no formularios).
En Delphi, una manera elegante de resolverlo es con interfaces. Puedes implementar interfaces para comunicar datos y transpasar "fronteras" manteniendo los principios de
SOLID.
P.D: Algo que he aprendido luego de usar mas de 12 lenguajes es que cuando algo se hace "dificil" es, muchas veces, el mismo lenguaje indicando que hay otro camino mejor y mas idiomatico.