I actually know exactly what you are talking about.

On my last application I was automatizing the exportation of information to excel files and I would close the objects using this code block:

vb Code:
  1. Public Sub releaseObject(ByVal obj As Object)
  2.         Try
  3.             System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
  4.             obj = Nothing
  5.         Catch ex As Exception
  6.             obj = Nothing
  7.         Finally
  8.             GC.Collect()
  9.         End Try

and then I would call them using:

vb Code:
  1. releaseObject(xlApp)
  2.             releaseObject(xlWorkBook)
  3.             releaseObject(xlWorkSheet201)