The VideoPlayer, and video codecs in general, are not design to scale unboundedly like is done in this scenario. Different codecs/platforms will report the issue differently. Microsoft Media Foundation will emit errors when resources get exhausted, but the webm/vp8 software decoder we're using will not produce such messages (because memory resources don't get exhausted in this non-hw-accelerated case); instead, the scheduling system will get into a situation where it's spending more CPU time dispatching than actually running decoding. Whether or not this gets detected/reported by Unity, the result will unfortunately be the same (video decoding will not be usable).
One approach that can be usable, depending on the workflow details, is to prepare a single large video where all animations are played in a grid (one grid cell for each animated icon). You can then isolate each icon using texture coordinates. This will drastically reduce the number of VideoPlayers that have to be active at a time, and bring back resource usage to a more conservative level. You can segment your animations by groups of 100, for example, and only show the 2-3 videos that are currently in view in your library.
This admittedly makes for a more complex asset preparation step but will ultimately provide a smoother runtime experience.