I just tested on Windows 10. It turns out you can't set the application class both with SetWindowTheme() and OpenThemeData(). If you do, OpenThemeData() fails. So please add some tests for that and change the OpenThemeData() implementation accordingly.
Probably I'm missing something, could you please elaborate how this patch is related to the described above behaviour? The only thing that the patch aims to fix is to make OpenThemeData() accept combined application/class names like "explorer::listview".