Cpu can't bottleneck a gpu. A bottleneck is a component that slows down the flow of data. The cpu isn't slowing anything down, it's just not as fast as you want it to be.
Cpu pre-renders the game code and ships it to the gpu. It does this at 100% every time. If the game code is badly optimized, has high thread usage, long code strings etc it sends less frames as each frame takes longer to pre-render. But thats the limit. The gpu gets every frame the cpu sends, finish renders and puts it on screen according to details and resolution. A strong gpu will put up every frame at any detail setting and have room for more. A weak gpu will struggle to put up every frame at highest details, but have no issues at lower detail settings.
Usage is misleading. Usage is the amount of resources the cpu needs to use in order to pre-render a frame. CSGO is a 2 thread game. It has no support to use 3 threads. So on a quad core cpu it can max out 2 thread usage, yet have 2 threads doing nothing but windows background tasks. 100+100+30+30 =260 /4 =@ 62% usage, same applies to the gpu. It's like typing, you'll use 100% of the muscles in your hand but you don't use 100% of the muscle, or you'd break the keys slamming them as hard as possible. You only hit it as hard as needed. But you still have to use the same muscles no matter how hard or soft.
So your cpu isn't bottlenecking your gpu, your cpu is chugging along just fine, but the game code means it's not putting out the frames you'd want, and the gpu is not needing to use its full capacity, just it's full ability.
If you change games, usage changes, different results.