Polygon hierarchy

I am trying to create a polygon that has different heights per position which is not clamped to the ground. After looking at the reference documentation and playing around with sandcastle I think I should be using a polygon hierarchy. I was hoping that the code below would create a hole underneath the polygon giving the appearance of not being clamped to the ground. The result of the code below is one side of the geometry is visible when the globe is tilted, not what I expected.

Am I tackling this problem correctly? or am I way off base? Any suggestions would be greatly appreciated.

Thanks for any help which you could provide

Here is my code which can be plugged into sandcastle:
// Create the viewer.
var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;

// Example 2: Draw a blue polygon with holes.

// To draw a polygon with holes, create a nested position
// hierarchy defining the positions of the polygon
// edges and the positions of the holes.
var polygonHierarchy = {
    
    positions : Cesium.Cartesian3.fromDegreesArrayHeights([
      -105.0, 33.0, 100000,
      -99.0, 33.0, 100000,
      -99.0, 37.0, 100000,
      -105.0, 37.0, 30000
    ]),
    holes : [{
      positions : Cesium.Cartesian3.fromDegreesArrayHeights([
      -105.0, 33.0, 50000,
      -99.0, 33.0, 50000,
      -99.0, 37.0, 50000,
      -105.0, 37.0, 15000
      ])
    }]
};
// Create a geometry instance using the polygon geometry.
var bluePolygonInstance = new Cesium.GeometryInstance({
    geometry : new Cesium.PolygonGeometry({
        polygonHierarchy : polygonHierarchy,
        perPositionHeight : true,
        vertexFormat : Cesium.PerInstanceColorAppearance.VERTEX_FORMAT
    }),
    attributes: {
        color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.BLUE)
    }
});

// Add each polygon instance to primitives.
scene.primitives.add(new Cesium.Primitive({
    geometryInstances : [bluePolygonInstance],
    appearance : new Cesium.PerInstanceColorAppearance({
        closed : true,
        translucent : false
    })
}));