Artemis client thread pool can be configured using the messaging-activemq subsystem's global-client-thread-pool-max-size attribute (introduced in 11.0.0.Alpha1).
By mistake, the default value of this attribute was set to -1 (through the ActiveMQClient.DEFAULT_THREAD_POOL_MAX_SIZE constants).
This means that unless configured otherwise, the Artemis clients running in the app server (e.g. MDB code) will use an unbounded thread pool.
The correct configuration is to not have a default value. If that's the case, Artemis will determine the size of the pool depending on the number of processors (8 * Runtime.getRuntime().availableProcessors())