Worth bearing in mind the ECU can only see sensor inputs and act on that data.
The lambdas are giving feedback about fuel mixture.
What you currently dont know, is if the feedback is correct, and the engine is actually lean, or if the feedback is incorrect because the sensor is faulty.
I may ofcourse be teaching granny to suck eggs here, but as an example, imagine the MAF is underreading (either because its faulty, or becuase a split gasket or hose is letting some air skip past the MAF), the ECU is told there is 30g/s of air when there is actually 40g. It injects fuel for 30g, the engine is super lean, lambda detects this and ecu starts increasing fuel trims trying to fix it. Eventually it reaches the trim limit because if its having to add 33% fuel theres clearly an issue, so gives a system lean fault code.
In this situation, the lambdas are completely fine and are working as expected, the fault is with the MAF(or the air leak). But the ECU hasnt mentioned the MAF, because the MAF readings are close enough to what it expects that it hasnt realised they're wrong. Folks jump in with the parts cannon and fit new lambda sensors, and then are confused when the code remains.
I'm not saying its not the lambdas, just that care is required that you dont end up lead down a path.
It could be an air leak, fuelling issue, sensor issue etc. Try to be methodical, check the basics first, vacuum leaks and whatnot.
Given its at light load, that does to me nudge towards a possible air leak, as they tend to be fairly fixed volume and thus affect low load much more than high load.
1994 Range Rover 4.6 HSE - Rough, but has an MOT!
2000 Audi A4 1.8T Quattro - Long term weekend car, 'slightly' modified...
2022 Skoda Enyaq - EV daily driver.