I was using the following to write to a file:
using(Stream FileStream = File.OpenWrite(FileName)) FileStream.Write(Contents, 0, Contents.Length);
Yes you are right. File.OpenWrite does not overwrite the file.
The File.Create is used to overwrite the file if exists.