Using C#, write a program to find the nearest common parent of any two nodes in a binary tree. Aside from stacks and queues, do not use any data structures that are built into the language. Package an executable to run that visually demonstrates the tree and the common parent. This could be ASCII art or web based.