Thought it sounded like what happens when you
check fuel cut RPM, but 3,000 RPM is too high. On my tach, it looks more like 2,000 RPM (Though it's supposed to be 1,600) If your TPS is properly adjusted and working, it should hit FCO at 1,600 RPM. The RPMs would drop to about 1,200, then fuel gets turned back on, and they start going back up again.
So assuming that this is what's happening (Rev to FCO, drop to fuel return, repeat) then the only way this happens is if you're getting air into the intake manifold, and the ECU is adding fuel. For the time being, assume that it's metered air entering the manifold, since the ECU isn't starving it.
Check the ISC valve. If it's working, then you can rule that out.
Check the TPS. I believe that it could be installed such that it doesn't let the throttle body close.
Or, just check the whole TB.
If instead there's enough cold start enrichment happening, and it's UNmetered air entering the intake manifold, then there's quite a lot of it. It won't be a little vacuum hose somewhere. I can think of maybe 3 places that are big enough to cause that. Cold start injector, (Though so much for enrichment!) EGR valve opening, Brake booster line. Oh, and maybe the big vacuum port on the front of the intake manifold. Aside from that, maybe a crack in the manifold casting itself. My point here being that if it's any of these things, it should be very obvious. It takes more than a little air to rev the engine to 3000 RPM.
Edit: PCV could allow in a good amount of air, possibly even metered if the hoses are connected wrong, or your TB has failed in interesting ways.