It has always been the case for people to program using more than one language. When people were using Assembly, they have to lean a new Assembly language every time they changed architectures.
When people where doing COBOL or Fortran, they also typically did RPG and/or JCL.
In Unix, people would work with C, sed, awk, shell script and just about everything in the Unix kitchen sink (almost every command line tool in Unix is its own, very specialzided DSL.)
In DOS, people would be programming in Turbo Pascal or C in addition to batch scripts. Later when Windows came, it was VB or something like PowerBuilder coupled with SQL and possibly batch installation scripts.
So, it is not just beneficial to work with more than one language, but it is necessary. There is no way to build a modern, complex system with a single language (and by "build" I don't mean just code some crap that compiles, but to build something with a decent design.)
Heck, I'll go out of a limb and say that I would expect kids in college to be proficient in two or more languages if they are serious about being in this profession.
So, regarding your question:
My main question is, is it wise for me to continue doing this or
should I continue development in C#? Would this harm me in the long
run (mind you my main goal is not to be a jack o all trades) or is it
a good practice to be doing?
So, short answer, no, using or switching between languages won't give you the cooties. Knowing more than one language won't make you a jack of all trades, and there is no way for a developer to become an expert by being unable to use more than one language.