its not the ICV, i know what it is. umm.... its the idle control module, looks like this.
www.bavauto.com has it for 174. i had the same symptoms with my car (325es) and i changed this and it runs like it used to. its located in the glove compartment, first you gotta take out the panel from inside. good luck on the fix. by the way, i got a used one for about $100 bucks from a wrecked car. hope this helps.