My class is derived from IADORecordBinding, and has the two _variant_t objects. They're used to read an adVariant and an adGUID type from a recordset object, to which my object is bound. The adVariant is just used to store a date from the db, while the GUID is used as a record identifier. When I delete my object, a COM error is raised, 800020008 - bad variable type. The memory leaks seem to be a cascade of the error of not deleteing my object correctly. I hope this helps Thanks, funbag skydiving....if at first you don't succeed, you're fecked!