Turns out I was wrong, the Entity Bean was recently changed to Requres. So what happens is this
SLSB starts TX1
Entity creates record within TX1
record.getProperties() starts new TX2 and calls update and commit at end of TX2, and here lock happens
the question remains why record.getProperties() spawns new TX
daniel