One major reason that game programmers use C++ instead of Java/C# is the performance of dynamic memory allocation. Using C/C++ requires the programmer to deallocate memory. Java/C# eliminates this need by using garbage collection. Use the Web to research why this single difference is so important.
Discuss why virtual memory is such a wonderful invention. As with everything, though, there is price to be paid. Use the Web to research the Achilles heel of virtual memory, which is too much paging (i.e., thrashing), and how it can kill performance.