When you call the retain or release on objectA nothing will happen with the objects which hold the the reference of objectA. (Unless you have overridden these methods.)(retain increases retain count and release decreases retain count)
Incase of release, if the retain count becomes 0, dealloc will get called and objectA is released. And you are responsible for releasing the allocated objects of the class. The other objects which still hold the reference of objectA become dangling pointers.
Regards, Dhana.