Another thought: perhaps the soap dispenser isn't being completely emptied at the appropriate time, which is generally during the initial fill cycle. If there were a build-up of gunk or some other blockage to the water flow to/from the dispenser area, then you'd get more soap inserted in later cycles, including each rinse attempt, until the dispenser was finally clean of soap.