ServiceStack’s RequestContext is an abstraction which uses ASP.NET’s HttpContext.Current in ASP.NET Apps, AsyncLocal in .NET Standard / .NET Core Apps and only uses CallContext in self-hosting .NET Framework Apps that isn’t configured with RequestContext.UseThreadStatic=true (which instead uses a ThreadStatic Dictionary).
At the end of every request ServiceStack calls EndRequest() which frees the items in the request context.
If this is outside a Request Context in a .NET v4.6+ App you should use AsyncLocal instead.