I am having this exact same problem.
My oil level notice in my 2007 would come on a few times a week at startup. I change the sensor and now it comes on everytime its cold. It doesn't do it when the engine is warm.
The replacement was a brand new acdelco unit. Any suggestions on how to clean the connector to the sensor? It's the only thing I can think that might help.