I just ran into this after resuming from hibernate.
As a workaround, sending a SIGTERM to the lightdm children other than the one which is your actual session seems to resolve the issue. Presumably one of these is the lock screen session; killing it leads to it being re-spawned, at which the point the screen is restored to a sensible state and the lock screen appears, without needing to kill all the running applications. This can be done from the terminal with sudo/root.
I just ran into this after resuming from hibernate.
As a workaround, sending a SIGTERM to the lightdm children other than the one which is your actual session seems to resolve the issue. Presumably one of these is the lock screen session; killing it leads to it being re-spawned, at which the point the screen is restored to a sensible state and the lock screen appears, without needing to kill all the running applications. This can be done from the terminal with sudo/root.