I would like to apply to a refugee program, so I would like to know if the embassy would know that I have dual citizenship especially that I have traveled before for tourism to US. If yes, please justify your answer.
The US and Canada share immigration information. So anything that the US knows, Canada either already knows or will find out when they run your background check. If you have dual citizenship, assume this will be discovered during the background check as well. You need to make sure you answer all questions truthfully in your asylum application.
Sorry - I don't know. You would probably have to somehow explain why you gave up one of your citizenships. This could cast doubt on the validity of your refugee claim if you had somewhere safe to go but didn't. This may make you look like an economic refugee rather than a real refugee.