Sensors are more than likely fine, it’s the computer program that doesn’t understand their inputs.
The system GM uses on these trucks is a program specific to the sensor inputs for the engine and vehicle as it was designed. It has some space to learn as the engine wears to make adjustments, but this is very limited.
Basically the engine is put on a dyno and cycled for all events that can be thought off. A fuel and ignition curve is data pointed in stop action out for each even with a reading of sensor data at each point. The multiple sensor data at each point is integrated into an address and the fuel and ignition requirement is assigned to that address. All of this goes through a smoothing function for the in between of the data points.
In action on the street when the sensor inputs are integrated to an address, the computer sees the address and goes there to pull out the fuel and timing for the condition represented by the address.
When you make changes that effect the volumetric air flows through the engine this results in physical changes of the relationships between engine RPM to throttle position to Manifold Absolute Pressure (MAP) these being the fundamental basic leading to an address. So now the integration of the sensor data creates an address that has the wrong fuel and ignition data. The engine runs poorly as a result. The solution is to create a new map that has the correct fuel and ignition timing data for the integrated signals received from the sensors.
This being an OBD 2 system , this requires a pre or post processor be used or a piggyback real-time reprogrammer as the OBD 2 computer is not designed to have a replacement PROM plugged in as with the older OBD 1 systems.
You will need to get on the web and hunt down people that supply this service.
Bogie