Какова причина, по которой Interlocked.Read () определяется только для Int64, а не для UInt64?Я бы не подумал, что между этими двумя типами есть какая-то разница.
Класс Interlocked определен в mscorlib, который CLS-совместимый и UInt32 и UInt64, к лучшему или худшему, не соответствуют CLS.
Interlocked
mscorlib
UInt32
UInt64
Относительно того, почему они не соответствуют CLS, см. Эту статью SO: