I had this hanging idle problem after I fitted an unlocked G56 supplied ECU with their map installed. I checked the wheel speed sensor as it held almost 2000rpm for a few seconds after coming to a halt, checked the idle Air Control Valve function, all to no avail. I only fixed it by installing a new base map from Krazy Horse and then it all worked perfectly. The idle is certainly linked to the wheel speed sensor.