Have a look at the ASDZ idle closed loop settings. There are many GM files that go open loop at idle and none with any mileage have a prayer of passing emissions until that is fixed. I fix this quite often here in California, Dave W has you on the correct path, keep in mind all variables have to be "set" for closed loop to enable and stay enabled. Always convert to a heated sensor. As for the junk ass AC-Delco o2 sensors, I have thrown plenty away and always use Bosch or NTK, so, each to his own.
Bookmarks