С этим проблем нет.
Ваши объекты будут иметь «слабые ссылки» друг на друга, поэтому здесь нет проблем с управлением памятью.
Вам просто нужно убедиться, что у вас нет доступа к удаленной памяти. Например, в классе А:
- (void)dealloc
{
[b setA: nil];
[super dealloc];
}