これを考慮して:
var pfs = Session.QueryOver<Pegfile>()
.JoinAlias(pf => pf.Responses, () => responseAlias)
.List();
続いてこれ
Debug.Print(pfs.First().Responses.Count.ToString());
そのデバッグ ステートメントによって NHibernate が戻って Response コレクションを再クエリするようになるのはなぜですか?最初のクエリで初期化されたのは確かですか?