`AbortVMOnVMOperationTimeout` and `AbortVMOnVMOperationTimeoutDelay` can be used to catch long-running VM operations.
Currently, a periodic task, `VMOperationTimeoutTask`, checks if timeout occurs. However, depending on the scheduling, it's possible that such checking misses the arm-disarm window. In other words, even when timeout does occur, abort might not happen.
To remedy this, we can perform timeout checks on the VM thread right after VM operation is completed. This way, we will never miss timeouts.