I just opened this as an issue but then realized it might be better to start a discussion thread first (or in parallel).
The GA Service Manager uses async HttpClient calls to send various events. When you make an async call and await on it, the async call will not continue until after the application resumes. As a result, many (all?) of the session lifetime events don't actually
get sent until after the application resumes.
This means that when I'm trying to track the lifetime of a session I don't have any info about when the application actually exists, and if the user restarts the app as opposed to navigating back to it (using back button or app switching) then the app suspend
actions are just lost.
Based on a Fiddler capture, it even appears that the resume events can get sent and responded to before the previous suspend events get sent.
Has anybody else noticed this? If so, are there any options for dealing with it?