How is `for async` scoped

I'm curious what happens when I have a for async myVal = SomeAsyncSequence, and how that impacts the ARC. I suspect if I have this async for each loop inside an init, it'll just run until ARC decides the object is no longer needed, or the sequence runs dry. Is that correct? And what about in void or even returning methods?

Thanks
- Bastian