We were having an issue with records being locked when the Recurring Payments Processor was run. We changed some of our scripts and the errors stopped. But we have this error occurring again now and every time it affects different objects- like Opportunity and Payment Txn and the timing is always as the Recurring Payments Processor is running.
We would recommend to look at flows, to see if any of your team has created flows that could impact this. Also recommend going to "Setup" and type in the quick find 'Apex Job' as this will give you an indication of what- jobs may be running, you can also do the same for schedule jobs and background jobs. These should give you the information you need to figure out what is accessing the opportunity.