All I see is:

"There are currently 383 players in the ladder."

The 897 are the number of players that have finished at least 1 game in the last 5 months, which is something completely different.

Additionally, part of your proof isn't correct. You do the breakdown of the rating of his opponents, but this is their current rating, not their rating when they were matched up with him. It is my experience (and note that I've been on the ladder for 5 years in a row now, always playing 5 games and mostly rated above 1800), that the difference when the games are made are mostly smaller than that and that differences over 200 elo points are rare.

Note that you are always matched up with the one closest to you in rating. So even if someone near the back of the range is available, you are still more likely to be matched up with the one closer to you. Since the 1v1 has a lot of players and a lot of games finishing at the time, it's rather rare to get someone close to the end of the rating. Surrendering at busy hours reduces that risk even more.

It is a problem though, but the 1v1 ladder really hardly suffers from this. Where it becomes really apparent is the 2v2 and 3v3 where there are much fewer teams and games. Ruil & Mohikanin really had this problem when they were first. Because of their large number of games, many opponents didn't fulfill the criterion anymore and they started playing 1600 teams while they were first. 3v3: a disaster with hardly any teams. We (me, me2 and Jackie) got a new team (no games finished) while ranked first.

What really needs a fix is the RT ladder as ps suggests. There is no matching algortithm there (based on rating) and the best player could potentially play the worst player there.

Note that TrueSkill would also solve this partially for 1v1, 2v2 and 3v3 as I've repeated again and again. A game against a low ranked team would always give you a mean boost and rarely gives you a small variance increase to offset the mean (rating = mean - 3*sqrt(variance)). BayesElo is a lot less straightforward in this. Winning against a lower ranked team could potentially drag you down. (TrueSkill is also easier to understand intuitively, BayesElo isn't that intuitively obvious.)

((Complete side-note to not derail the topic: in the RT ladder, TrueSkill currently doesn't work as well as it could because playing someone over 1000 points lower creates a neglible mean boost and a slightly larger variance boost. Which makes sense really if you use a sports analogy: do you think a first division team deserves a better rating for beating 6th division team? If anything, you know less about them, because "last week" they still beat another division 1 team, "this week" they only beat a bunch of amateurs.))