Why not catch these in an  AutoPtr<> rather than dangeroulsy releasing them here and requiring the manual delete below? 

Why not

```c++
AutoPtr<NumericVector<Number> > parallel_soln_ptr = NumericVector<Number>::build();
NumericVector<Number> &parallel_soln = *parallel_soln_ptr;
```