Draft: Add gil acquisition to PyOperation
Deadlock was occurring due to GIL not being released by python when locked on different threads by the Interpreter lock. Added scoped acquisition in PyOperation so the lock is released correctly when running Interpreter in thread pool.