 <p><strike>I'm assuming this doesn't happen the first run through, but after some time. Is this correct?</strike></p> <p><strong>edit</strong>: <em>removed incorrect assumption, but there's still an issue with <code>IDisposable</code></em></p> <hr> <p>You're not disposing of NewImage, and this will cause you issues in production.</p> <p>I'd normally say 'just use a using', but try/finally is the same thing. Refactor to us a using at your own discretion.</p> <pre><code>System.Drawing.Image NewImage = null; System.Drawing.Image FullsizeImage = null; try { FullsizeImage = System.Drawing.Image.FromFile(OriginalFile); [... snip ... ] NewImage = FullsizeImage.GetThumbnailImage(NewWidth, NewHeight, null, IntPtr.Zero); // Clear handle to original file so that we can overwrite it if necessary FullsizeImage.Dispose(); // Save resized picture NewImage.Save(NewFile); } finally { if (FullsizeImage != null) FullsizeImage.Dispose(); if (NewImage != null) NewImage.Dispose(); } </code></pre>