Now I am totally puzzled...
For testing purposes I created two separate knowledge bases and sessions. In each session I started a process instance of the same process definition. Each process gets different orders as facts for the conditional intermediate catch event. After the catch event a script task follows.
If I now trigger the rules for process 1 by updating the knowledge base (order 1) BOTH script tasks are executed (BTW, twice for process 1 and once for process 2).
Checking the state (active node instances) of each process afterwards shows:
- process 1 ended (no process instance found in session with that id) - so that was expected
- process 2 is still in wait mode on the conditional catch event