Нет, не всегда.
Weak и unowned используются для предотвращения циклов сильных ссылок (retain cycles) в замыканиях, когда замыкание удерживает сильную ссылку на объект, а объект в свою очередь удерживает сильную ссылку на замыкание.
Использовать weak или unowned необходимо, когда замыкание захватывает сильную ссылку на self или другой ссылочный тип, и существует вероятность возникновения цикла сильных ссылок.
Ситуации, когда не нужно использовать weak/unowned:
Выбор между weak и unowned:
weak: Используется, когда захваченный объект может стать nil в любое время до выполнения замыкания. Ссылка объявлена как опциональная (ObjectType?). Требует проверки на nil перед использованием.unowned: Используется, когда известно, что захваченный объект всегда будет существовать на момент выполнения замыкания. Ссылка неопциональная (ObjectType). Не требует проверки на nil. Использование unowned для объекта, который стал nil, приведет к крашу (runtime error).swift