How to ensure accurate rigid body simulation with many small objects
I believe your problem is due to the Collision Sensitivity Margin - although you shoul dalso ensure you always Ctrl+A, 'Apply Scale' on your objects (if you have rescaled them) prior to running any simulations.

I've replicated a similar situation to drop a multitude of small cylinders into a box :



In the above image you can clearly see that the cylinders are separated from the surface. This is due to the default collision Margin of 0.04 on the Cube. The collision margin generally helps with generating a more stable simulation by providing a 'buffer' with the surface to prevent objects from intersecting. However, the default may be too large for some simulations - especially with objects at a small scale.

Here's the same simulation with the margin set to 0.001 :



As you can see there is now no noticeable gap between the container and the cylinders.

Note that the smaller the 'margin' the closer objects are allowed to get before they are considered to have collided. However, the tooltip on the margin does suggest that better results are obtained when set to non-zero. Therefore, you should generally set it to a value for your scene that is just small enough to not notice a gap between colliding surfaces.