Magick.NET does offer something similar. I am not sure how the technique from above works but Magick.NET has to read the whole image for this to work. There is an option in Magick.NET that will skip the image data of the source image but that is not publicly available yet. I will make this available the next release. You still need to read the whole destination image. An example of how you should copy the profile is this:
using (MagickImage source = new MagickImage()) { source.Ping("source.tif"); // Not yet available use Read for now. ColorProfile profile = source.GetColorProfile(); using (MagickImage destination = new MagickImage("destintion.tif")) { destination.AddProfile(profile); destination.Write("destination.tif"); } }