No need to use sockets. Sockets and the Trezor bridge are only workarounds because JavaScript can't talk to USB devices directly. Because C# doesn't suck you can just talk to the device directly.
Library
https://github.com/MelbourneDeveloper/Trezor.NetMy GitHub profile has libraries for KeepKey and Ledger as well. KeepKey has the same protocol as Trezor so you more or less get that for free if you crack Trezor.