If I remember correctly, the managed Math.NET code is a port of the LINPACK SVD routine. I don't know the differences between the LAPACK and LINPACK implementations. The native provider uses LAPACK's DGESVD. Is the U matrix as close as the VT matrix (which seems to be the same within 14 decimal places)?
Regards,
Marcus