How the mgiration works internally? - C#