Dequeueメソッドと同様に、Queueの内容が空の場合にPeekメソッドを呼び出すと、例外InvalidOperationExceptionがスローされます。

Queueが空の状態でPeekメソッドを呼び出すとInvalidOperationExceptionとなる
using System;
using System.Collections.Generic;

class Sample {
  static void Main()
  {
    var q = new Queue<string>();

    Console.WriteLine($"Count = {q.Count}"); // 0

    // Queueが空の状態でPeek操作を行うとInvalidOperationExceptionがスローされる
    Console.WriteLine(q.Peek());
  }
}
実行結果
Count = 0
Unhandled exception. System.InvalidOperationException: Queue empty.
   at System.Collections.Generic.Queue`1.ThrowForEmptyQueue()
   at System.Collections.Generic.Queue`1.Peek()
   at Sample.Main() in /home/smdn/samplecodes/dotnet/cs/test.cs:line 12

したがって、Peekメソッドの戻り値を見てQueueが空かどうかを判断することはできません。 Queueが空であるかどうかを判断するにはPeekメソッドではなくCountプロパティを参照します。