Я бы воссоздал текст данных при каждом вызове метода, заключенный в блок using. Это поможет убедиться, что объекты, созданные в результате операции, будут удалены, и уменьшит объем используемой памяти. Так как объект сериализуется для отправки обратно, не должно быть необходимости хранить текст данных дольше, чем при вызове. Сам контекст данных не является особо тяжелым объектом, и его не следует создавать заново по мере необходимости. Это действительно то, как это было предназначено для использования - в качестве единицы рабочего объекта.