You can use marshalling to create a copy of the object, that would give you an approximate number on how much memory it uses.
But, as always it s impossible to give an exact figure of the memory usage. A DataTable object is not a single solid piece of memory that you can measure. It contains a lot of objects and they have references between them, and there may be several references to the same object which means that there isn t one copy of the object for each reference to it. Each DataRow for example has a reference to the table that it belongs to, but that of course doesn t mean that each row has a complete copy of the entire table.