Смотрим на демо-проект. Запускаем в нем «тяжелую задачу» разными способами и смотрим, как это влияет на память. Учимся отменять работу: отменяем Task, останавливаем работу в выделенной DispatchQueue, отменяем подписки в правильный момент, перестаем слушать AsyncStream.