I was able to reproduce your issue. It works correctly with the C++ API, but not with the .NET wrapper. The C++ API returns the extent in xMin, yMin, xMax, yMax order. For some reason the .NET wrapper is returning the extent in xMin, xMax, yMin, yMax order. I've entered a bug.