The thumb rule goes like this, if you instantiate a DI API object, you have to release it. if you don't release it explicitly, it will result in memory leaks.
You can use a ReleaseComObject method to release the object memory. In case if you try to release a null object, it will throw an exception.
So, it will be better to have a null check before you try to release the object.
if (obj != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);