<p>So I understand what a static method or field is, I am just wondering when to use them. That is, when writing code what design lends itself to using static methods and fields. </p>

<p>One common pattern is to use static methods as a static factory, but this could just as easily be done by overloading a constructor. Correct? For example:</p>

<pre><code>var bmp = System.Drawing.Bitmap.LoadFromFile("Image01.jpg");
</code></pre>

<p>As for static fields, is creating singelton-objects their best use? </p>

It gives a better idea of the intent when you use a static factory -- it also lets you have different factories that take the same argument types but have a different meaning.  For example, imagine if Bitmap had LoadFromResource(string) -- it would not be possible to have two constructors that both took string.
EDIT
: From stevemegson in the comments
A static factory can also return null, and can more easily return an instance that it got from cache. Many of my classes have a static FromId(int) to get an instance from a primary key, returning an existing cached instance if we have one.