Hi Jiri,
you're right, i ain't been so clear: i've modified the Maciej's CMTDisposeCommand class, in the afterCompletion method i've introduced the registration on the ProcessEventListener interface and implemented the afterProcessCompleted method, as a mechanism to wait for process completion. As i said, the timer in the process and the process itself are terminated when i enter in the afterProcessCompleted method, so i don't think that's the problem. But you have given me a correct suggestion when you said that the events listeners are part of the session, so it's probably not correct dispose the session when i'm in the afterProcessCompleted. I will try to wait for process completion directly in the afterCompletion method, using another strategy, and let you know the results.
In the mean time i thank you very much your help.