Each thread does only following mapi calls in sequence :
1 MAPIInitialize,
2 MAPIAdminProfiles,
3 HrQueryAllRows,
4 session=MAPILogonEx,
5 session.logoff,
6 MAPIUninitialize
Observation:
If there are two threads T1 and T2 .
T1 logs in to session prior to T2 and T1 does MAPIUninitialize after T2 it dont lead to crash,
But if T1 logs in to session prior to T2 and T1 does MAPIUninitialize before T2 then call to MAPIUninitialize leads to crash with above stack.
PS : Crash occurs with Outlook 2016 only and works fine with Outlook 2013 and prior.