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.