I am pretty sure that the app would crash though since I already tried it myself. About the precept, I don't really understand how a strong reference could cause an app to crash, so I wrote it that way, I will correct it later, thank you!
Also, about async/await, I won't use it for now because I personally think that it's one of the worst approach if you don't know what you are doing. I am avoiding it because of these reasons:
1. Complexity of handling multiple streams
2. Error handling complexity (because you have to use repetitive do-catch and it's less elegant compared to Combine's catch, retry, and Combine's declarative approach
3. Hard to integrate with legacy code.
Of course Combine also has its weakness, but I am already used to it.
So to sum up, until Apple's minimum iOS version is 17 or higher, I would avoid it . Please read Thomas Condon's comment for more detail.