ارژنگ جان در کد شما ، بوسیله متد GetInstance می توان هر چند تا Instance که بخواهیم از کلاس بسازیم و لی در کدی که من نوشتم فقط بار اول یک نمونه از کلاس رو برمیگردونه و ما بقی تلاشها برای ساخت نمونه بجز بار اول ، Null هست. ولی در مثال شما با هر بار فراخوانی متد GetInstance میتوان یک Instance جدید از کلاس ساخت.
در مثال من
test t1=test.Gettest(); یک نمونه از کلاس را می سازد
test t2=test.Gettest(); مقدار null برمیگرداند
در مثال شما
TestClass t1= TestClass.GetInstance(); یک نمونه از کلاس را می سازد
TestClass t2= TestClass.GetInstance(); بازهم یک نمونه از کلاس را می سازد