I found this thread accidentally. I've faced the described symptoms and I've found a solution, which is usually overlooked.
<tl;dr>Check coolant temperature sensor</tl;dr>
Theory:
ECU calculates the target idle rpm, based on several factors. Engine temperature is one of them: it's easy to...