I still suggest if posible make your dll to open only one file instead of multiple files and try testing it.
Other thing is how are you maintaining the file referenceses if they are maintained in a array check to see the array size and make sure the references are getting closed. Alternately i suggest using a dll debugger tool Dependency walker to find out any problems with the dll.
