When you automate a Microsoft Outlook application from Microsoft Visual Basic .NET or Microsoft Visual C# .NET, the Outlook application does not quit when you call the Quit method. You can notice the application is closed, but still if we notice either the application or Outlook is running in behind the scenes. To make sure that the Office application quits, make sure that your automation code meets the following criteria:
You can try this C#.Net code snippet:
//If you are using Visual C# .NET, reference the code for the ReleaseObj() function:
private void ReleaseObj(object obj)
obj = null;
In this scenario, you can use the GC.Collect() method and the GC.WaitForPendingFinalizers() method after you release the last object. Because the runtime performs garbage collection on the RCW, the GC.Collect() method forces the garbage collector to run and might release any references that the RCW still has. The GC.Collect() method tries to reclaim the maximum memory that is available.
Note: That this does not guarantee that all memory will be reclaimed.
For more reference and detailed information, read blog post series by Matt.