There are several problems using COM from
.NET:
You cannot implement the Dispose pattern
by utilizing the “using” block in order to safely dispose
COM references.
You cannot guaranty COM references are finalized. There’s no
way to implement “~Destructor()” for COM
references.
COM reference is not released when a call to
Marshal.ReleaseComObject is skipped due to an
Exception.
When you “Add Reference…” to a COM library, [...]
