I recommend doing this by firing microflows asynchronously (using Core.executeAsync). Take a look at https://world.mendix.com/display/refguide4/Garbage+collection for what might be wrong. Your objects may get garbage collected because you're not retaining them and only have a reference to them in your own asynchronous code after the Java action has already ended.
Update: this does not seem to be the problem, I don't know what is then.
Btw, I'm not so sure this would result in a speed increase, since it's still just 1 database that's handling the inserts, so asynchronously inserting these objects might actually cause it to be slower due to some overhead or locking.