Problem solved!
I created a small sample project with a similar construction which just worked: Even async functions could access the class property, while my StoreManager received the following error:
Passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure.
By defining StoreManager class as a @MainActor, access to the mentioned property is possible across threads. All asynchronous / delaying work is done in threads, so I'm fine with forcing the StoreManager to the main thread, no performance impact can be observed.
I assume (!) my sample code was just working as its functions were located in a UIViewController, residing on the main thread anyway. But that's only an (educated) guess...
Topic:
App & System Services
SubTopic:
StoreKit
Tags: