I would like to know if dual nationality US citizen should hand in both passports when entering USA
There's nothing requiring a US citizen to show foreign passports on entering the US, or even to mention other nationalities. As mentioned in other answers, there is a US law requiring you to "bear" a US passport when you enter the US, which strongly implies that you must also use it to do so.
As far as the immigration interview is concerned, once you establish that you are a US citizen, the interview is over and you must be admitted. (You can continue to be detained, however, for reasons related to the customs inspection, or for investigation of other crimes.)
I have never shown my foreign passport to a US immigration inspector, because I've heard a few anecdotes from people who've done so and had some degree of trouble as a result. I am always tempted to show it to see what kind of reaction I get, but so far my desire to get home and get some sleep has always prevailed over my curiosity.
From the CBP Inspector's Field Manual, which is available in at least two redacted versions online (emphasis added):
When you are convinced that an applicant for admission is a citizen of the United States, the examination is terminated. This is not to say that your role as an inspector is always completed at that time. Listing of the subject in a lookout system may dictate further action, such as notifying Customs or another agency of the person's entry.
It must be emphasized that the grounds of inadmissibility contained in 212(a) of the INA are applicable only to aliens. Consequently, the examination of a person claiming to be a United States citizen is limited to matters required to establish present citizenship. Once you are satisfied the person being examined is a U.S. citizen and any required lookout query has been completed, the examination is over.