Deixando meu relato de solução.
Enfrentei esse mesmo problema em meu PC com Windows 10. Através de testes, vi que no meu caso não tinha relação com o Wake on Lan ou periféricos do computador. Achei alguns comandos de CMD que exibem processos agendados para execução, que podem forçar o computador a ligar. No meu caso, o problema era o WarSaw, usado como plugin do Internet Banking da Caixa. Após desinstalá-lo o problema acabou. A seguir está o link descrevendo os comandos a serem executados para ver qual aplicativo está causando o ligamento indesejado de seu computador.
Espero ajudar a quem vier ter o problema.
http://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_perf/windows-10-wakes-randomly-from-hibernate/247e69c3-cc7a-40db-b34e-43d8d60e6947?page=1
One update, I finally tracked down and solved the issue on my computer.
There were, as I understood, two problems. I use Teamviewer to remote access the computer while I am away, its service was creating wake timers on the system, and once it expired (or after a wake), a new one was set and so on.
This problem with Teamviewer is most likely not related with Windows 10 at all, but arised on a very recent update, according with some of the foruns I found. It is promised a fix for the next teamviewer's release. Which I hope comes soon, as it is a very powerful and useful application.
The other problem were that, although my energy policy was set to strictly forbid applications from waking up the computer, the Teamviewer's wake up timers were applied and followed by the OS. I believe that this may be, perhaps, something that should be looked on Windows 10, but it is just a guess.
For you that are having the same issue, here are some tools that may be useful on investigating this nasty behavior:
1) To debug and see possible energy events acting against sleeping:
c:> powercfg /energy
It will generate a log of the next 60 seconds events. While it is running, put you computer on sleep or hibernation state, and wait for its random return.
After the powercfg execution it will be generated a log file with some hints of issues.
2) Check on task scheduler (control panel -> task scheduler) for events that may wake the computer.
3) From time to time see if some application creted a wake up timer:
c:> powercfg /waketimers
This last one was what actualy pointed out what the real issue were. It should be noted that, as the events were created on a random basis, sometimes it returned as there were no wake timers set. It may happens that the rogue application just didnt had the opportunity to set the wake timer.