Vertex color values over one
Yes vertex colours are exposed as three floating point values, but in the background they are stored as three integers that are clamped to values between 0 and 255. You can see the actual code doing that here.

This would be a decision made to conserve space, a floating point value uses 4 bytes of RAM while the integer used fits in 1 byte, that saves 9 bytes for each vertex. This leads to being limited to the 16.7 million colours that can be stored in a 24bit RGB image when using vertex painting.

Blender supports image formats that store float values, so you could look at using an image texture to get more variation in your materials.