Implementing asynchronous stuff with the WorkManager is quite exhausting. For heavy workloads you need a sophisticated websphere configuration - the standard does not work so well for that.
The programming model is also not neat.
Since Java EE 6 you can simply add an @Asynchronous Annotation to mark an method as async. Thats a lot easier to handle. You can also combine this quite easily with Java Futures.
However you may have to break down your WorkManager-code for that.
This blog post explains briefly how to use asynchronous methods in WebSphere