My stack trace is missing one line - at ProductName.Addin.AddinShutdown() - I hand typed the rest of it from a screenshot sent by the user...
In answer to the questions:
Do you have any initialization logic in background thread? Yes, thanks for the pointer. I've discovered that I'm setting this.outlookMailItem in a BackgroundWorker:
Does any code calling COM objects run in finalizers? No
Are there other add-in running on user machine? Yes, the user tells me that he uses the Dragon Naturally Speaking add in to record voice into emails.
In answer to the questions:
Do you have any initialization logic in background thread? Yes, thanks for the pointer. I've discovered that I'm setting this.outlookMailItem in a BackgroundWorker:
this.outlookMailItem = (Outlook.MailItem)selectedItem;
Do you call office API in background thread? Or any other threads? Yes, I use a BackgroundWorker for some code that extracts the data from the currently selected email as I found that having it run on the main thread was slowing down Outlook.Does any code calling COM objects run in finalizers? No
Are there other add-in running on user machine? Yes, the user tells me that he uses the Dragon Naturally Speaking add in to record voice into emails.