I'm working on a managed Outlook Add-in for my day job. I'm in the early prototyping stages and I haven't implemented a shim yet. I plan to soon, but for now I'm just trying to figure out the basics. I'm using DebugView to monitor my add-in and I've noticed that periodically another add-in is tracing from my thread. This didn't concern me until I noticed that my add-in quit working immediately after these traces. Here are the traces that I see:
[3852] APPMANAGER: Checking for updates.
[3852] APPMANAGER: New update NOT detected.
I have Lookout installed. Since Lookout doesn't use a shim it is running in the same AppDomain as my add-in. After poking around in the Lookout options dialog I found the "Automatically check for new software updates" setting on the Advanced tab. I disabled that setting and now I don't see the APPMANAGER traces. Better still, my add-in doesn't break anymore. I suspect that Lookout is calling ReleaseCOMObject as part of the process that is logging the APPMANAGER traces. That perfectly illustrates why you need a shim. But if you are just trying to take baby steps, I hope this saves you a little frustration ;-)