Unfortunately, if you use the inbuilt System.Speech.Synthesis methods, you will find out that there are memory leaks that have not been addressed by Microsoft. One way to work round this is to use COM to hook into the underlying SAPI methods, but the way I prefer is to use Intel's Perceptual SDK (also known as RealSense). This provides you with speech recognition and synthesis. I have written an article describing how to use it
here[
^].