Dlaczego tak
Modyfikator private ogranicza dostęp do metody do wnętrza klasy, w której ją zdefiniowano — tak ukrywa się szczegóły implementacji. Modyfikator protected udostępniłby metodę także klasom pochodnym, co wykluczono w opisie, a internal — całemu zestawowi (assembly), czyli praktycznie całemu projektowi. Public to brak ograniczeń, więc metodę mógłby wywołać dowolny kod.