As said, you're going to have this problem when the ECU is trying to correct the fuelling too far based on what it sees from the Lambda sensor.
3 basic reasons why this might happen:
The ECU is calculating the required fuelling based on duff information.
The fuel calculated by the ECU is fine, but that's not what the engine is actually getting.
The Lambda sensor is giving you an incorrect reading of the actual mixture, forcing the ECU to compensate unnecessarily.
In the first case, the major inputs are engine speed, coolant temperature and air mass entering the engine. Engine speed is from the crank sensor and if it wasn't working you'd have bigger problems. Coolant temperature and air mass are possibilities, so it's always prudent to check these look plausible in the live data. An unmetered leak of air into the intake will also cause a false air mass reading so check the breather pipes and intake ducting for leaks.
The second case.. Low fuel pressure due to failing fuel pump, clogged fuel filter, fuel pressure regulator, perhaps injectors. These aren't common problems. Poorly mapped or just poorly LPG systems are.
In the third case, a blowing exhaust, particularly upstream of the lambda sensor, will cause it to read incorrectly, as will a misfire, although with other more obvious symptoms. A failing lambda sensor can also throw out the fuelling, although the ECU will normally flag it as bad before it does, or at least there'll be codes relating to slow response.
A cat problem won't cause fuel trim problems, or at least not unless it's so clogged that it is affecting the fuel mixture.