Not sure this is related to your problem, because the lack of info, but I ran into the same problem at some point and I will provide the details.
More than 5 years ago I worked on a Windows Forms kiosk application, which was built on .Net 1.1 (the latest at the time). The application needed fancy graphics which consisted in a background image for the main form and images with transparency layers for the different controls on the form. Implementing that in the standard manner, by using the BackgroundImage property or the OnPaint event in the controls, resulted in a slow interface. Flickering was present and in the cases where a lot of controls were added to the form you could actually see them being loaded one by one.
The problem with controls that involve transparency is that they involve a different paint model compared with the ones that don't. Such a control, when receiving a paint event would have to forward that event to its parent, which would be rendered first, and only after that the child's graphics would be rendered. That should mean one paint event translated into three (paint event to control with transparency, then paint event forwarded to parent, then paint event back to control with transparency), but for some strange reason, it seems that in .Net's Windows Forms there are more such paint events passed back and forth from children to parents. Don't know what is the reason for this. The one thing I know is that VB6 or C++ MFC applications, that as the .Net Windows Forms ones, are also built on top of Win32, do not have the problem.
At the time, I tried a great amount of tricks from the internet (like the ones you are quoting), but none of them really worked. I ended up building my own rendering engine on top of GDI+. That is not something that I would recommend, since it took me a great amount of time to implement and in the process I lost functionalities like the visual forms editor.
What I would recommend though, considering the technologies that appeared since then, is that if you need to build a graphics intensive application, you would better do it with Windows Presentation Foundation (WPF), which has been optimized for this, rather than with Windows Forms.