I was using the following to write to a file:
using(Stream FileStream = File.OpenWrite(FileName))
FileStream.Write(Contents, 0, Contents.Length);
This is the specified behavior for File.OpenWrite:
If the file exists, it is opened for writing at the beginning. The existing file is not truncated.
To do what you're after, just do:
using(Stream fileStream = File.Open(FileName, FileMode.Create))
fileStream.Write(Contents, 0, Contents.Length);
Your current call is equivalent to use FileMode.OpenOrCreate, which does not cause truncation of an existing file.
The FileMode.Create option will cause the File method to create a new file if it does not exist, or use FileMode.Truncate if it does, giving you the desired behavior. Alternatively, you can use File.Create to do this directly.