I found that WFI instruction modify R0 register value. This happens at least on SysTick interrupt. Value, if modified, appears to be mostly 0, but sometimes is random.
WFI behave weird on stm32L031G6, but works ok on stm32L031C4.
Power seems to be ok.
Code showing behaviour:
Attached full code.
I have just tested it on 6 different chips, only 1 of them works as should.