Единственное, что я должен добавить, это убедиться, что вы устанавливаете RemotingFormat в Binary. Не уверен, что вам удастся просто установить его в свой DataSet или вам нужно это сделать и для всех DataTables. По привычке я всегда устанавливаю оба значения в двоичный.
По моему опыту, DataTable данных будет сериализован до меньшего размера, чем, например, сопоставимый строго типизированный массив некоторого соответствующего объекта.
О, последнее. Вы сэкономите немного больше места, если сможете установить значение AllowNull в false для столбцов, которые в этом не нуждаются.