Unless you are a Twitch Partner, exceeding 2000kbps is not advised. The widest viewerbase can watch at 2000kbps smoothly. Going over this means increasing the amount of buffering/stuttering your viewers will get; most people will just leave if a stream buffers a lot for them, to find one that they can watch smoothly.
If you are a non-Partner, the 'golden point' is 720p@30fps, 2000kbps, x264 Veryfast (or slower). Start out there and go down one preset step at a time, testing for 20 minutes of actual streaming and gameplay, while monitoring CPU load, temperatures, and throttling/parked cores. Generally I shoot for around 80% utilization, but up to 90% can work (but risks game performance impact).
You should NOT be using a custom buffer size without a good reason. Remove it. Likewise, if you followed a 'best settings guide', I'd advise reverting your settings to default. Most out there are full of misinformation or bad/parroted information with terrible advice from people who don't actually understand what the settings do, and are going off things they've heard from others (custom buffer sizes are usually a flag of one of these being used; they're scarcely ever needed, and only for some specific problems).
The delay is there due to Twitch using HLS. With a proper setup, you can shave the delay down to 9-12 seconds minimum. This depends on helping to ensure your viewers don't buffer (buffering = increased delay as the player will want to have more video ready to ensure smooth playback), and that you don't drop/skip/dupe/late frames due to over-loading. It's no RTMP (3-6 second delay) like Twitch used to have, but it's fairly livable.