Я бы сказал "нет". Если вы не делаете что-то действительно неправильное, ваша программа не должна загружать трафик. Ваш маршрутизатор должен балансировать доступную пропускную способность между всеми запросами.
Я бы порекомендовал вам сделать следующее:
a) Создайте хеши md5 для всех файлов. Сравните хэши и / или даты и размеры файлов и синхронизируйте только те файлы, которые были изменены. Если вы не синхронизируете массивные файлы, вам не нужно синхронизировать большое количество данных.
б) Ограничить скорость отправки. В вашей ветке загрузки прочитайте файлы в чанках размером 1-8 КБ и затем вызовите Thread.Sleep после каждого чанка, чтобы ограничить скорость. Вы должны сделать это на стороне загрузки, однако.
в) Передайте все через поток Gzip. (System.IO.Compression) Для текстовых файлов это может уменьшить размер данных, которые необходимо передать.
Надеюсь, это поможет!