As far as I understand your question, you need to create a deep copy of info object
Here's a solution (using serialization)
Create extension method like this:
public static class ExtensionMethods
{
    // Deep clone
    public static T DeepClone<T>(this T a)
    {
        using (MemoryStream stream = new MemoryStream())
        {
            BinaryFormatter formatter = new BinaryFormatter();
            formatter.Serialize(stream, a);
            stream.Position = 0;
            return (T) formatter.Deserialize(stream);
        }
    }
}
Use it:
checkInfo = info.DeepClone();
P.S Usually, a need for a deep cloning means a need for code refactoring. Not necessarily, but quite often..I thing there should be a better solution in your case, than copying objects.