Workunit availability is seen in the "server status" page.
The first figure, "ready to be sent", (actual text depends on translation) indicates workunits which will be sent as soon as one viable client connects. In other words, it is the size of the "immediately available" pool.
The "in progress" figure are the workunits being processed by volunteers. As soon as each of them ends, a "continuation" task is usually created, and placed in the "ready to be sent" queue. As long as there are workunits in progress and you leave your BOINC client connected, you may get new tasks.
Therefore, new WUs appear in these cases:
a. When they are created as part of a new experiment, usually in batches of hundreds or thousands.
b. When they are created as the continuation of a previous WU - as soon as the latter is completed, uploaded and validated.
(edited to add)
It would be ideal, and we strive to, keep a steady supply of workunits. However, this is not always possible because other factors are at play, such as available disk space, bandwidth, and human time to follow-up the experiments.