Are you seeing this error when you are creating the cache, or consuming it? (can you include in image of the error?) And are you using the standard Server service caching tools thru Catalog or another way (like a script)? What type of data is in the service that you are caching?
I have never seen a Windows error like that when caching, but it sounds like something is causing files to open and then not closing them, but a typical cache generation shouldn't do this, that I know of.
Best practices for services is to not put every data layer possible in one service, but to separate/group them in logical services, for example, one for roads, one for hydro, one for topo maps, etc., then to combine them as needed in the web service. This gives you more control when needing to turn layers off, etc. Of course leaving things dynamic gives you even more control, but depending on the layer can slow things down (that is of course why you would be caching).