Hi ShawnDev,
I would say SysOperationSandBox is a part of "Sandbox framework" (it's mentioned only in Dev exam, but there is no other documentation on it).
SysOperationSandBox allows you to run long processing in a separate session in async mode and shows the waiting form for async process (UI us not locked). Also, it provides "Cancel" button for this kind of process.
You can use it:
1. Directly from code - let's assume you need to run some long-running process and you already have a static method for it or you are planning to write it, but you don't want to create runBaseBatch or SysOperation class for operation. In this case, you can utilize SysOperationSandBox if you don't want to leave the user with a "freezed" UI.
2. You can use it in RunBase and SysOperation by returning true in method canRunInNewSession (note that for RunBase you need to use runOperation method instead of run in main method, but there is already BP practice warning in place). You should also take into account that in this case, you need to implement pack\unpack design pattern, as the async session will be created based on packed variables.