I have the same problem with a Thinkpad x240. Never managed to figure it out, instead I just use suspend which works reliably.
I would definitely suggest trying the 4.8 kernel as mentioned in another comment. So far I haven't been able to make it fail.