singleton design pattern real time example c#