ArgumentNullException — key имеет значение null.
Потом в комментарии...
Реализации могут различаться в зависимости от того, позволяют ли они ключу быть нулевым.
Итак, я должен задаться вопросом ... это ошибка или что-то, что я здесь просто упускаю? Файл справки MSDN кажется немного противоречивым.