MacBook Pro 2016 + 4K 60Hz display maxes out at 30Hz Hardware:


MacBook Pro (15-inch, Late 2016) \w Radeon Pro 460 on Sierra 10.12.2
IOGEAR USB-C Docking Station with Power Delivery 
DisplayPort 1.2a cable
BenQ BL3201PT display (4K@60Hz via DisplayPort supported)


Expectation:

Display can always run in 4K@60Hz as a single screen (mirrored to internal display).

Reality:

Initially (every startup/boot) the display did not get a signal, while the MBP recognized the display as if it was functioning correctly. In that situation, repeatedly sleeping/unsleeping the computer served well in order for the display to receive signal and run 4K@60Hz. But as of late, it went straight to 4K 30hz mode (without other problems) and I have not been able to get 4k 60hz mode out of it ever since. Highest frequency supported via 4K in the display menu is 30hz. 

What I have tried:


Installed SwitchResX and tried forcing 4K@60Hz, yet it says it was a 'possibly invalid' configuration that it cannot handle.
Connected a direct power source to the MBP in order to rule out possibility of the docking station not having enough power to drive the monitor.
Reset NVRAM
Reset SMC


Further information:

I have never owned a MBP nor any Apple computer before, so I might be overlooking something. Out of frustration I ordered a direct DisplayPort to USB-C cable which is due in a week, but unsure whether that will solve the problem. Your help is much appreciated!
I assume you have 2 GPU's in that MBP- try this util and see if enforcing to run on NVIDIA/AMD instead of INTEL helps: 

https://gfx.io and check if it's displaying a little d or i letter in menubar. 

i - means integrated GPU.
d — means discrete higher-powered GPU. I got a 2012 1st retina MBP and the integrate GPU is bad, slow and unusable with 2880x1440, so I doubt it even could be connected to a 4K screen. Good news is there is also the d discrecte GPU that is either one of AMD or NVIDIA mobile powerhorses and they are quite good.  

So, first try to switch from one to another and see if anything changes. 
I don't know the new MBP specs, but I am almost certain that you got some kind of integrated/discrete GPU combo. I had similiar issues when the first retina come out in 2012- soo im not sure if the new MBP runs also some kind of hybrid intel/amd or intel/nvidia- but nothing else would make sense ;) 

Try one of those utils then, swap resolutions, fiddle with configs.


RDM freeware
Resolutionator paid app
QuckRes paid app


You can manually enforce screen options -check my other answer here to ~ related ~ issue, but let's keep things simple first.

Cycle (disconnect/connect) your screen and post the output of sudo dmesg immediately after cycling somewhere (pastebin,.. etc.) We can check what it says about your screen, swapt the resolution etc. a few times and see if you can see anything in the log (openup console) about errors etc.

Then do:
defaults read /Library/Preferences/com.apple.windowserver.plist
Post the output of the command above- but take out any device serial numbers first.

You can also gather all diagnostic info about your mbp with:
sudo sysdiagnose -f ~/Desktop/, then selectively post the info 
about your system and especially graphics/screens config to http://pastebin.com/ or gist or whatever. 

Forgot to ask, are you familiar with *nix/bsd or linux?

Important! Don't forget to delete private information before you post anything anywhere, anything like your device serial number, ip, mac address, user names, login, mail etc. that can be used by someone else.