Looks like that's the "cheat" part kicking in. Since you've got unavailable seats on tables 1 and 2, which effectively makes those tables have 9 seats instead of 10, and the algorithm tends to move players to the largest table, it seats players at table 3, the first of the two larger tables.
Note that this is only because one of the players becomes unseated as part of the randomization process. Otherwise, it wouldn't have moved anyone from table 2 to table 3, since the tables are technically already in balance. It's only because a player is not seated. The algorithm needs to seat the player somewhere, and it chooses table 3 as the best choice. At that point, it needs to move one of the players, either from table 3 to table 2 or vice versa. It seems logical that it should move the non-locked player, but I believe it's probably deciding that moving to the "better" table (larger, and since all players will be on one table, it is, for the purpose of table consolidation at that moment, considered the final table) is more important than honoring player seating locks.
Honestly, this is just an educated guess, because I didn't really go in and examine the balancing algorithm again to see why it is doing this. It's a pretty peculiar scenario, and one that I don't think merits tweaking the algorithm (not that you were suggesting that).