Sounds like fueling; so if mainly at idle, in park; and not in gear at cruise speed - check:
1 - IAC flaky or gunked up
(First watch the IAC numbers on the SM - and correlate to engine idle behavior )
(Then try a good known IAC - quick fix or check - consider purchasing an angle boss for IAC prior to changing the IAC out - good upgrade)
Scanmaster will show IAC
IAC = Idle Air Control
At idle, the butterfly in the throttle body is essentially closed. The majority of the air used by the engine comes through the Idle Air Passage and is controlled by the Idle Air Control Solenoid. Look
here for pictures of the components.
As the name suggests, the IAC is only meaningful at idle, on a fully warmed up engine with the AC off. If one has a problem and the readings of this parameter are in the range of 10-40 on the scan tool, then it is not the problem. Again note that it only affects idle quality. Some find that a steadier idle will be achieved with settings between 10-20. The lower the number, the less the IAC affects the idle control.
To determine if the IAC is functioning, one can observe the numbers when the engine is started. They should be higher than the warm engine setting and should drop as the engine is coming up to operating temperature. They should also increase when the car is put into gear from Park as the IAC solenoid increases its pulse count to provide more air in response to the increased load on the engine. The numbers when driving are meaningless as the engine is now getting its air through the butterfly opening.
Go
here for instructions on setting the IAC counts and again note that this setting is interrelated with the TPS adjustment. Don't let adjustment to this parameter throw the TPS voltage outside the required window or the engine will not idle correctly.
Remember that idle speed is set by the ECM. The adjustment screw on the throttle body is for adjusting IAC's and not idle speed!
2 - TB gunky at IAC port
3 - Possible vacuum leaks but not really too likely if it is modulating like that
4 - or Chip going from open loop to closed loop / vice versa upon reaching warm up temps
5 - Check TPS with KOIO per gnttype.org or other instructions
Probably just a flaky IAC
Try grabbing one and doing a swap - or pull yours - and clean w/ throttle body cleaner
(*Note* - Purchase 4 piece gasket set prior to)
Turn A/C OFF
This will affect idle behavior - sometimes dramatically