Query Block Size Issue

Does setting the block size actually do what it indicates? By default it's set to 2000. If we increase it to 10,000 for example on a bulk load of 3.9M records it should reduce the query volume to hundreds rather than thousands of query executions. However the block size displayed when it's loading appears to be increments of 10K and we're still seeing the spool capacity being pushed past the limits we're trying to work within.