public SynchronizedReadOnlyCollection();
Инициализирует новую пустую коллекцию, которая будет блокировать внутреннее поле.
public SynchronizedReadOnlyCollection(object syncRoot);
Инициализирует новую пустую коллекцию, которая будет блокировать предоставленный вами объект.
public SynchronizedReadOnlyCollection(object syncRoot, IEnumerable<T> list);
Инициализирует новую коллекцию, содержащую элементы в списке, которые будут блокировать предоставленный вами объект.
Документация хорошо объясняет это.Это стоит прочитать.