Hi Hiikaru,
it will depend on the COM object itself. I don't know what your experience of classic COM is, so forgive me if this is obvious to you: When you create a COM object, COM implements reference counting via IUnknown.AddRef and IUnknown.Release. Now, in .NET when you import a COM object the wrapper generated for you will generally take care of this for you - however, Release is not called until finalization time, which is indeterminate and depends on when the GC decides to clear up the unused object. It is for this reason that you must call .Dispose() on the .NET reference when you have finished with it to clear up unmanaged resources otherwise the COM references will hang around in memory, as I say, indeterminately.
I don't know the amount of memory that JDECOMCONNECTOR.exe takes up but if it's a lot you may want to consider implementing some kind of simple pooling. You will only be able to determine if this is necessary by trial and error.
I would go with calling Dispose as soon as you are done, and if there is a lot of throughput that causes a bottleneck, reevalute how you implement the interop.
Hope that helps.
Cheers