On occasion with the really cold weather -5 or so F we have been having in Michigan I hear a high pitch whistle at 2,500 rpm or so. After 5 minutes or so of driving it goes away. No check engine light or weird behavior other than a high pitch whistle from the engine. The car is a 2009 135i with about 60,000 miles. PCV, air leak, oil separator. Other ideas?
The pcv system in your car is built into the valve cover. To check if it is causing the noise remove the oil cap while the engine is running and see if the noise goes away. Also I would check to see if any of your idler pulleys on the drive belt are causing this issue as well.
It is likely to be bearings, Alternator, water pump, interior fan. It goes away when they warm up a little bit.