fix: Restore previous status of GC and GC::Profiler after profiling

When using the GCProfiler, profiling a request could end up changing the previous state of the GC and the GC::Profiler, leading to odd problems.
This pull requests addresses this issue, restoring GC::Profiler and GC to their previous state at the end of the request profiling.