singleton pattern c# interview questions