Hi Jonathan
Yes SLG1 is where to look for locks.
Basically your start condition means every transactions needs to be interrogated for the relevant.
I've hit this issue before with volume, the only solution I've come up with previously is to implement our own mechanism to manage this particular requirement. Unless you can implement a Badi for the start condition to make it more efficient.
Archiving old transactions would also help.
Regards
Arden