У вас не должно быть двух объектов, сохраняющих сильные ссылки друг на друга, шаблон делегата обычно обрабатывается наличием одной сильной и одной слабой ссылки, где делегат является слабым.
Теперь на ваши вопросы:
Возможно, но кто-то другой мог бы дать вам лучший ответ, так как я не совсем уверен насчет RN.
Да и нет, в зависимости от того, как вы поступите.
Если вы используете сильное Я, то определенно произойдет утечка памяти:
{ _ in
self.doSomething()
}
Лучше использовать любое слабое Я:
{ [weak self] _ in
guard let self = self else { return }
self.doSomething()
}
или не владеющий собой, если вы можете гарантировать, что «Я» всегда доступен в закрытии:
{ [unowned self] _ in
self.doSomething()
}