MARS is mainly intended for the case you read a result set row-by-row, and you want to update rows as you read them.
While there is nothing to prevent you from submitting for instance to SELECT statements in the same connections with the MARS, it is necessarily not particularly useful. And specifically, there is no parallel execution, as all execution under MARS is interleaved.
I have never found MARS to be a feature of much use, and the best remedy for your problems is stop using MARS. As you have experienced there can be some confusing behaviour.