Cesium WebGL runs out of memory with Cesium3DTileset if I use too more than 27 colors

1. A concise explanation of the problem you're experiencing.

I'm displaying a point cloud for some transmission lines, but whenever I have more than 27 classification colors, the Cesium viewer crashes. Could this be from a memory leak of some sort in my viewer that I need to fix, or the tileset being too large? Just adding one more classification color crashes the viewer on the same tileset.

The errors read as follows:
In the UI: RuntimeError: Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.

In the console: [Cesium WebGL] Vertex shader compile log: ERROR: 0:121: '{' : memory exhausted
[Cesium WebGL] Vertex shader translation failed.

I'm using Cesium3DTilesets using styles define by Cesium3DTileStyle objects.

2. A minimal code example. If you've found a bug, this helps us reproduce and repair it.

I've structured the colors using RGB's based upon the classification for each point, in the following format:

new Cesium.Cesium3DTileStyle({
            color: {
              conditions: [
            ["${Classification} === 0", "rgba(255, 0, 0, 1.0)"], // Created, never classified

              ],
            }
          });

If the conditions array has more than 27 classification colors, then I get the error upon loading the point cloud.

I've found that an alternate solution is to consolidate the colors with the following syntax:
["\{Classification\} &gt;= 19 &amp;&amp; {Classification} <= 63", "rgba(110, 100, 25, 1.0)"]

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

We're trying to show vegetation encroachment upon transmission lines, using the colors to help identify different objects in the viewer.

4. The Cesium version you're using, your operating system and browser.

Cesium version 1.52.0
MacOS Sierra
Chrome 71.0.3578.98

This sounds like it might be a bug, but I wasn’t able to reproduce it. Are you able to create an example with Sandcastle (https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/) that reproduces this? Do you know if it happens on other devices too?