For what it's worth, here is the winning combination, once the COM object is released, calling the GC cleans it up:
Code:
            If oExcel IsNot Nothing Then
                oWBs = Nothing
                oWB.Close(SaveChanges:=False)
                oWB = Nothing
                oExcel.Quit()
                Runtime.InteropServices.Marshal.ReleaseComObject(oExcel)
                GC.Collect()
                oExcel = Nothing
            End If
Thanks Guys.