I'm using standalone non-clustered server v2.3.0.CR1.
In my tests I'm sending TextMessage-s using transacted JMS session created using ThroughputConnectionFactory.
The queue is configured as nondurable (also checked via JMX).
I run the same test multiple times and the only diffrence was in deliveryMode of the producer.
Tests with producer.setDeliveryMode(PERSISTENT) were 3 times slower than test with NON_PERSISTENT.
I also tried setting block-on-durable-send to false for the appropriate connection factory but it didn't help (also checked via JMX).
Persistent messages are always sent in a blocked way.. unless you disable blockOnDurable send.
Now, if the system is blocking even though you are setting blockOnDurable=false, then there's a bug that needs to be addressed.