Why does AP2 behave differently? On a fundamental level, the software was written by different people. So naturally they did it very differently.
I have some empirical evidence that AP2 preferentially follows the left-hand lane markings, and only uses the right-hand lane marking to determine the width of the lane. And that width calculation appears to happen at a slower update rate than lane following.
Our local HOV lanes have double lines, spaced a few feet apart, between the HOV lane and the regular traffic lanes. Periodically there is a stretch where you are allowed to transfer on/off the HOV lane. When that happens the lines merge and the HOV lane gets several feet wider.
What happens when AP2 comes across this sudden widening? It follows the left-hand line at the same distance for a couple of car lengths, and then suddenly jerks towards the "new" center of the lane.
Similarly when the transfer section ends and the lane narrows up again, AP2 drives straight for a bit, and then suddenly jerks towards the "new" center of the lane again.
These jerks are so violent that I disengage autopilot when using the HOV lanes. On longer stretches I may turn it on, but then hold the wheel very solidly when we transition... or simply turn AP off just before it happens.
My analysis of this behavior suggests that there several algorithms that run at different update rates. First there's some pretty smart logic that tries to find the left and right lane markings. Once it has that figured out, there are three algorithms that determine the car's trajectory. One algorithm makes the car follow the calculated center of the lane. A second algorithm watches the left-hand lane markings and calculates where that lane center is based on where the left line is plus half of what AP2 thinks the lane width is. A third algorithm, which clearly runs on a slower update rate, looks at the right and left markings and calculates the lane width. I believe that is the best explanation of AP2's extremely non-graceful reaction to a relatively quick change in the lane width.
Of course there may be exceptions to the above, but I haven't seen any AP2 behaviors that contradict it.
So yes, if the algorithm picks up the wrong left-hand line at a leftward exit lane, it will tend to pull the car onto the shoulder between the lanes. It will then see the apparently widening lane and get confused, probably veering somewhat rightward after a bit because it thinks the lane is getting wider.
Why would it be programmed this way? If I had to guess, it's to avoid having the car follow the right-side line onto off ramps. Something that AP1 loved to do, as I recall.