When using the Java API to pull out a file from the GridFS the writeTo( File ) works, however the file handle is not closed down properly. You have to wait until the underlying JVM cleans it up, or exits. Major memory leak issue.
Work around: use writeTo( OutputStream ) and manage the stream yourself