The number of materials is limited to 500, because Forest also creates a material for each ID (it is used for the viewport). But if the cars share some materials (this would be more logical), they take a single material slot.
Anyways, in this case i would use Forest Color to create automatic variations of the base color, using a single material. You can define the range color using gradients, choosing them randomly from a bitmap of using a procedural texture.