From everything I've read in these groups, you need to prove with documents, such as Drivers License, Utilities Bill, that you are in the location where currently staying. I don't know what documentation you get when entering Canada on a USA Passport (maybe a stamp in the passport just the same as entering Thailand on a Visa Exempt entry?). I think your problem is trying to use your Brazilian Passport in Canada for the application while not being able to provide documents that prove you're in Canada at the moment. Maybe you need to return to the USA and apply from there, if you have documents that show you normally reside there. Otherwise, as
@Tod ********
said, go to Thailand from Canada Visa Exempt and apply for the Non-O at the nearest Immigration Office to where you will live in Thailand. If you don't have a bank account in Thailand already, that will be more difficult an issue if entering as a tourist, where it's a lot easier if you enter the country already having the Non-O Visa.