As the author of PLDIET, I can explain why it doesn't work in that case. It's affected by where Boundary decides to start the Polyline [I did a Boundary in the upper of the horizontal areas to the left, and PLD did straighten the resulting 3-segment top edge]. [Curiously, I find that Boundary doesn't put in vertices at those endpoints of outside things that meet the edges in all cases -- it didn't for me in the L-shaped area.]
PLD heads out from the first vertex [and it can't do anything with that -- it was written with things like contour lines in mind, which are seldom closed, and it isn't going to eliminate their endpoints]. In your example, that's the middle of the right edge, so it can't straighten through that one. It proceeds from there, and for every vertex, because of certain things about the way it analyzes, it needs to look two vertices ahead from each vertex it might be able to remove. The quarter-point vertex up from the bottom of the right edge in your example is the next-to-last one [counting the Close to the start-point as the last one], so there aren't two more from there, and it doesn't analyze that one.
I suppose it might be possible to alter it to handle the latter situation, but the former doesn't seem possible without a heck of a lot more analysis of the geometry of the Polyline. BUT:
OVERKILL has this option:

which will handle the latter situation, but also won't do anything to the start/end vertex. BUT:
Plain-old grip editing can Remove even the start-end vertex:

[Select the Polyline, hover over a grip until it turns red, and type R.]
You could run PLDIET on all such things, and it should take care of many or most situations, leaving you only to "touch up" those with this kind of problematic geometry. Or, if you do this a lot on always-rectangular and always-orthogonally-oriented areas, a routine could be written pretty easily that would just replace such resulting rectangles, no matter where they start or how many vertices may occur along any edge, with "clean" ones.
Kent Cooper, AIA