Быстрый поиск нашел реализацию здесь . Код выглядит чистым, но я не пробовал.
Если ничего другого, вы можете провести быстрый тест производительности против SortedSet<T>
(как предложено @Josef), чтобы увидеть, есть ли какая-либо разница для вашего варианта использования.