Coleção Threadsafe sem trava

Estou me preparando para uma entrevista e me deparei com a pergunta followign. Eu tentei, mas não consegui encontrar nada que possa criar uma classe contendo coleção segura de thread sem "lock". Se conhecer alguma solução, por favor ajude.

Crie uma classe C # derivada de Object e implemente os seguintes métodos:

AddString - Esse método deve adicionar uma determinada string a uma coleção internaToString - Substitui esse método e retorna uma única cadeia delimitada por vírgula contendo todas as cadeias na coleção interna

Requisitos:

Deve ser seguro para threadDeve suportar vários leitores simultâneosNão é permitido usar nenhuma coleção de segurança de thread pré-existenteBônus: não use nenhum tipo de bloqueio

questionAnswers(5)

yourAnswerToTheQuestion