Your class is most likely marked as 'static', so what you are seeing is a side-effect of this. From Static Classes and Static Class Members:
A static constructor is only called one time, and a static class remains in memory for the lifetime of the application domain in which your program resides.
So what you are seeing is intended behavior. Your singleton's private members remain in their previous state because the class remains in the application's memory. If you want to keep your singleton pattern in place but want a "fresh" state when calling one of it's methods, you could reset the values of any private member variables the method accesses.
Here is a good discussion on when to use static classes that you might be interested in:
When to use static classes in C#