To work this around use DisptacherTimer instead of Task.Run.
This issue is related to the SurfaceSeries3D. Originally when you have a data point with its ZValue set to null, the chart will create a gap on the surface. This always happens. However, on some machines the null values are treated a bit differently by the renderer and a triangle is drawn from the points around the null data to the center of the viewport. This leads to an unexpected visual glitch.