Problem:
ITK 4.4.0's itkProcessObject.cxx does a lot more checks in its SetNumberOfIndexedOutputs member function than previous versions of ITK used to do.
mitkReduceContourSetFilter.cpp:106 increases the number of outputs. It started out with 1 output (default) and finally there will be numberOfCells + 1 = 2 outputs. The last one will always be NULL. However, the number of outputs should only be numberOfCells and the last NULL one shouldn't even exist. Apparently, this has been noticed and corrected in line 116 (this->SetNumberOfIndexedOutputs(numberOfOutputs);)
And this is the very location where ITK 4.4.0 crashes. It checks that all outputs are not NULL and then removes/adds outputs until the number of outputs matches the argument. The NULL output that shouldn't have been there in the first place results in an assertion/crash.
Fix:
simply replacing
this->SetNumberOfIndexedOutputs(this->GetNumberOfIndexedOutputs() + 1);
by
this->SetNumberOfIndexedOutputs(numberOfOutputs + 1);
in line 106 solved the problem.