это неуправляемый ресурс?
globalRelation, asset, surfaceRelationNew, termStructureSlice, equipRelation
если нет, то не нужно беспокоиться о том, чтобы CLR обрабатывал это
если это неуправляемые ресурсы, чем я бы сказал, ypu делают это правильно, но почему вы вызываете отдельный метод, просто отпустите в блоке finally
или
вы можете написать деструктор класса, если его можно освободить, когда объект вашего класса GCed, как показано ниже.
~MyClass()
{
Marshal.ReleaseComObject(globalRelation);
Marshal.ReleaseComObject(asset);
Marshal.ReleaseComObject(surfaceRelationNew);
Marshal.ReleaseComObject(termStructureSlice);
Marshal.ReleaseComObject(equipRelation);
}