There is a way of checking if the screensaver is still running. See the discussion on MSDN:
Screen Saver notifications[
^].
nobugz[
^] answer shows how to pinvoke
SystemParametersInfo
to poll the current status of the screensaver.
Google search: "C# screen saver running"
Regards,
— Manfred