Concerning the operating systems course in particular, because it is difficult to find TAs with practical systems experience (such students tend to have better-paying jobs or at least research assistantships) the 421 section size of 40 is already too large for a course with non-trivial projects. If there were only one or two students on the hold list it would be be no problem to add them, but the last time I checked there were about 15 people waiting to get into my section, and there will certainly be more by the start of the semester. From experience, I know that everyone has an equally heart-rending story as to why they should be added to the class, and there's no fair way of letting in just one or two people out of a group of 15 to 20. If I let everyone in the problem of under-staffing will simply continue; so though I really hate to take a hard line on this, I'm not going to open the section to more than 40 students.
These circumstances create considerable pressure to water things down, leave out projects, and go to larger sections, even at the senior level. Perhaps naively, I'm trying to avoid the increasingly popular modern educational paradigm wherein the university takes your money and pretends to teach you, you pretend to learn, and at the end of four years you get a nicely engraved certificate that asserts that you did in fact pay your tuition. But it sure looks like the wave of the future.