Hi,
I believe there's a minor bug in low_power_pwm.c regarding pwm_state.
The routine low_power_pwm_start sets the pwm_state to NRF_DRV_STATE_POWERED_ON; but it then calls pwm_timeout_handler, which immediately sets the state back to NRF_DRV_STATE_INITIALIZED.
This triggers this ASSERT when calling low_power_pwm_stop, because the state is no longer in the NRF_DRV_STATE_POWERED_ON state:
ASSERT(p_pwm_instance->pwm_state == NRF_DRV_STATE_POWERED_ON);
Thus, calling low_power_pwm_start then low_power_pwm_stop always asserts.
The pwm_timeout_handler probably shouldn't be setting the state to NRF_DRV_STATE_INITIALIZED.