Quoting the documentation:
a C function or C++ method is said to be re-entrant if it can be called simultaneously from multiple threads, but only if each invocation uses its own data.
All GDAL public C functions and C++ methods are re-entrant, except:
Thus, it should be safe to implement Send for all wrapper types. This was already done for Dataset in #99, OwnedLayer in #238 and Error in #293.
The one I'm currently missing is SpatialRef, but there are probably more.