Q:

How do you properly use a static property that implements IDisposable?

As an example:
using (Brushes.Black)
{
...
}

is not a good idea, because it is static.  The next time your app goes to use Brushes.Black, you'll have problems, because it has been disposed.
Now, if you're only using Brushes.Black, then it's probably ok to not dispose it, because you're only leaving one unmanaged resource (hopefully!) lying around.
But, in general, should you avoid using lots of static IDisposables, or is there something I'm missing?

A:

Normally just use them, and let the framework class worry about disposing them.
They are there so that you can use them without creating and disposing them each time. Each one is created when you first use it, and is cached in a hash table. The framework class is responsible for disposing them properly when the application closes.
There aren't really that many static IDisposables that you should need to worry about them. If you would use an awful lot of brushes, you would probably create them from a color in a loop anyway (and then you would of course be responsible for disposing them).

