This is EXACTLY the way SOAP works.
If a program has two open spots, and submits a "SOAP list" of A, B, C, D, and E (5 people), only A and B will get an offer in Round 1. Even if A rejects the offer in 5 minutes, C will not get an offer until round 2. C might have an offer in round 1 from another program, but has no way of knowing whether not taking it for an offer from this program in Round 2.
However, if I have two spots in SOAP and person A rejects my offer in Round 1 after 10 minute, I can call person C and tell them that they will get an offer in Round 2. Then, they have to decide whether they trust me or not, and they have to have not taken a round 1 spot.
If this seems messy, it's why we have a match in the first place -- to avoid situations like this.
So, to review:
A. When Round 1 happens tomorrow, each program will extend offers for all of their spots.
B. Some applicants will get more than one offer. They then need to pick one of them (two if SOAPing into Advanced and Prelim). All of the others get rejected, and go into round 2.
C. Although you could reject all offers in Round 1 to try to get something better in Round 2, doing so is very dangerous as you could easily get nothing. That said, "nothing" might be better than something you'll be very unhappy with.
D. The "ideal" candidate strategy is:
1. If you get an offer from a program you are very happy with, take it ASAP
2. If you get offer(s) from program(s)/field(s) you're unhappy with, you should reject all of the offers except for the one you might take. Then, you wait until near the end of the round to see if you get calls from other programs with offers rejected who tell you "you will be getting a 2nd round offer". Then, you could consider rejecting your last 1st round offer to take the (presumed) 2nd round offer.
3. If you get no offers, then you hope for offers in future rounds. In the past, the vast majority of spots were taken by end of round 3.