Hi @Alex Fang I'm glad that you were able to resolve your issue and thank you for posting your solution so that others experiencing the same thing can easily reference this! Since the Microsoft Q&A community has a policy that "The question author cannot accept their own answer. They can only accept answers by others ", I'll repost your solution in case you'd like to accept the answer.
Issue:
Device ID sending the telemetry to IoT Hub is populated in the Web App iteratively and the message events send from the device were duplicated.
Solution:
Modifications made to the code has resulted in this behavior. Downloaded the source code from the GitHub repository has resolved the issue.
If I missed anything please let me know and I'd be happy to add it to my answer, or feel free to comment below with any additional information.
I hope this helps!
If you have any other questions, please let me know. Thank you again for your time and patience throughout this issue.