UpdateAsync malfunction on remove and game closing

Create\Documentation\Overview\Experiences\Samples\Player Data

I’m sure this sample code is well tested before it was released. Still:

These 2 operations don’t save the data, they don’t work in the original released sample:
onPlayerRemovingAsync → dataStore:UpdateAsync()
game:BindToClose() → dataStore:UpdateAsync()

Changing the code to this works properly:
onPlayerRemovingAsync → dataStore:SetAsync()
game:BindToClose() → dataStore:SetAsync()

UpdateAsync() has a transform function overhead, which complicates it with respect to SetAsync().

I studied “Player Data” codes line by line and put breakpoints to catch. The code goes to UpdateAsync(), but does not return, do not even pass to transform function. As if the transform function is no more accesible for UpdateAsync().
Is there a problem with dataStore:UpdateAsync() during player removing and game closing?
Or is it only me, who has the trouble?

I feel it’s either that for somereason, UpdateAsync doesn’t have enough time to properly save the data (which it should unless you have some sort of thing that yields the script in the leaving events.

Or there’s some internal error which I kinda doubt