Question: Could anyone elaborate what work you are doing in garbage collection in daily corporate work?

How much your considering garbage collection in your SDLC?

Answer: 
For most purposes, you shouldn't have to get too concerned about GC. If you are worrying about this, it probably means you've got underlying coding problems (accidentally leaking object references, perhaps via static events etc).

So treat this as a *reactive* thing when you find you have a problem - and use a memory profiler to find and fix that problem.
The main thing to understand about GC is that it is not a panacea. It is applicable to memory *and resources similar to memory*, i.e. resources that you have a limited but pretty big supply of, and equivalent instances of the resource are interchangeable, i.e. any two 1 MB memory buffers are equally good for what you need to do with them.

So temporary files are like memory (you don't care which file it is), and file handles are like memory (you don't care what the specific handle value is), but files themselves, and locks on files, are not - they have a unique meaningful name that they are associated with. So you have take more care about exactly when you clean them up. You usually can't let GC close file locks or delete specific files at some random time. But you can do that with temporary files.