Implementing Phantom Reference in C#