Mono継承クラスの先頭でMono継承なしのクラスをprivateで宣言してnewして

インスタンスをStart内で利用しようとすると

NullReferenceException: Object reference not set to an instance of an object

って使った場所でエラーがでる。

publicだとエラーがでない

インスタンスは外部では使ってないのになぜpublicにしないといけないのかわからない。。。