Hi Kyle,
After a real quick look, you’ll want to change
vtkSmartPointer<vtkPoints> points = vtkPoints::New();
to
vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
Your vtkStructuredGrid
is leaking as well. I recommend creating this as a smart pointer as well - you can set it as a block as you are doing just fine.
Those changes should take care of the memory leaks, but it’s not clear that will help with the 3D blocks. Is there any chance you can attach a debugger to one of the processes and pause execution when it appears to hang to see where the hang might be occurring?