Everyone is right to some extent
I had the exact same problem all summer
Drove me "CRAZY"
Changed O'2's- result did not fix, CEL came back on
Cleaned throttle body & EGR port , did not fix
Inspect all vacuum lines, ALL were good
Spray carb cleaner to spot intake leaks etc.
Change dirty air filter
Chandge fuel filter...... same results
Cleaned MAF sensor with non residue cleaner
Improved condition by about 1000 km but light came back on
What I think fixed it.....
Hose connection off the PCV cracked and collapses
when engine on. Makes a 'sucking" sound which most people think is coming off the EGR
Or it could have been as EVERONE speculates, one or some combination of ALL contributing.
Easy and inexpensive to try all of these out.
If I had to start in order
clean MAF, change air filter, check hose off of PCV valve for crack