ArgumentNullException иногда используется в .NET Framework для случая String.IsNullOrEmpty - например, System.Windows.Forms.Clipboard.SetText
.
Так что я думаю, что разумно делать то же самое в вашем коде, если только нет разницы между этими двумя случаями.
Обратите внимание, что это и другие исключения, полученные из ArgumentException, обычно указывают на ошибку программирования, и, следовательно, необходимо предоставить информацию, необходимую для помощи разработчику в диагностике проблемы. Лично я думаю, что маловероятно, что разработчик смущает, если вы используете ArgumentNullException для пустого строкового аргумента, особенно если вы документируете это поведение, как в примере ниже.
/// <summary>
/// ... description of method ...
/// </summary>
/// <param name="someArgument">... description ...</param>
/// <exception cref="ArgumentNullException">someArgument is a null reference or Empty.</exception>
public void SomeMethod(string someArgument)
{
...
}