Instruction: Discuss the differences between Namespaces and Modules in TypeScript and provide examples on when to use each.
Context: This question assesses the candidate's knowledge of code organization in TypeScript, particularly the use of Namespaces and Modules, and their ability to apply these concepts in a scalable application structure.