OffScreenRenderingOn/Off stops the interactor?

Having trouble implementing OffScreenRendering for when I’m exporting an image of my scene.

What I’m doing:

  1. Generate data
  2. Enable OffScreenRendering
  3. Write image.
  4. Enable OnScreenRendering
  5. Render the image (to open the render window)
  6. Start the interactor (This isn’t working!)

I made a simple script reproducing the issue:

import vtk

cylinderSource = vtk.vtkCylinderSource()
cylinderSource.SetCenter(0.0, 0.0, 0.0)
cylinderSource.SetRadius(5.0)
cylinderSource.SetHeight(7.0)
cylinderSource.SetResolution(100)

mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(cylinderSource.GetOutputPort())

actor = vtk.vtkActor()
actor.SetMapper(mapper)

renderer = vtk.vtkRenderer()
renderWindow = vtk.vtkRenderWindow()
renderWindow.AddRenderer(renderer)

renderWindowInteractor = vtk.vtkRenderWindowInteractor()
renderWindowInteractor.SetRenderWindow(renderWindow)

renderWindow.OffScreenRenderingOn()
renderer.AddActor(actor)
renderWindow.Render()

# In my main script, this is where I use an WindowToImageFilter to export a figure.

renderWindow.OffScreenRenderingOff()
renderWindow.Render()
renderWindowInteractor.Initialize()
renderWindowInteractor.Start()

On my end, when the render window shows up, the interactor is not responding, the window is “stuck”.
Is there something I misunderstood or is this simply not possible?