I am not certain what you asking. If I was you I would try to think of each language a tool. You can drive a nail with a good screw driver but a hammer is more appropriate for the job.
As far as the question about C++ vs C# in the efficiency department. The answer is that C++ has the potential to use resources more efficiently than C# and C# has the potential to use resources more efficiently than C++. This depends largely on the skill of the programmer with the language and the resource in question. A skilled C++ programmer through methods that most would consider tedious and complex can make more efficient use of the PC hardware to improve performance. C# as a language in general is considered to be more efficient as far as development time, but if you are not familiar with C# you will spend much of you time shuffling through documentation.
Consider your skill level with C++ and your level of skill with C#. Which is greater? Consider what is more important completing your project quickly and efficiently or making the best use of the PC's hardware resources. Is your project of a scale that management of hardware resources is a key factor. Is the project time sensitive is a shorter development cycle is desirable?
Based on my personal experience C# and .Net make GUI development a breeze. I have never really run into performance problems, my projects were fairly small and light. I have done similar projects in C++ and QT and I found this to be en enjoyable experience as well.
I am not sure how complex a project you are attempting, but I don't think you can go wrong with either technology both are proven.