Regex.Matchesメソッドで返されるMatchCollectionには、正規表現にマッチした箇所すべてに対応するMatchが格納された状態で返されます。 MatchCollectionを列挙して取得できるMatchのSuccessプロパティは、当然すべてTrueとなっているため、個々にチェックする必要はありません。

Regex.Matchesメソッドで正規表現にマッチする個所すべてに対応するMatchインスタンスを取得する
using System;
using System.Text.RegularExpressions;

class Sample {
  static void Main()
  {
    var text = "The quick brown fox jumps over the lazy dog";
    var pattern = @"\w{4,}"; // 4文字以上の単語

    // マッチする個所すべてを列挙
    foreach (Match m in Regex.Matches(text, pattern)) {
      Console.WriteLine(m.Value);
    }
  }
}
実行結果
quick
brown
jumps
over
lazy

Matchesメソッドが返すMatchCollectionクラスは、.NET Framework 4.5の時点でもIEnumerable<Match>を実装しておらず非ジェネリックコレクションとなっています。 foreach等で列挙する際は型を明示するか、必要に応じてCast<Match>()メソッドを用いるなどしてください。