Это на самом деле не накладывает никаких накладных расходов - кроме того факта, что один экземпляр службы должен обрабатывать параллельный доступ, он должен быть на 200% потокобезопасным - и это довольно сложное программирование.
Переключение на ConcurrencyMode. Single упрощает программирование - больше не нужно беспокоиться о параллелизме в классе обслуживания. Но он сериализует все запросы - только один может быть обработан за один раз и, таким образом, быстро станет узким местом производительности.
Вы упоминаете, что ваша служба не имеет состояния - так почему бы не использовать ее в соответствии с обычно согласованной передовой практикой - не единичным, а обычным классом обслуживания "на вызов". В этом режиме каждый запрос получает новый экземпляр вашего класса обслуживания, нет необходимости суетиться по поводу многопоточного программирования (вся многопоточность обрабатывается средой выполнения WCF), вы получаете одновременную обработку нескольких запросов - для меня это только преимущества и нет минусов!