add a null termination character to the end of the array or if I must do it manually
TL;DR - it depends. You don't need it for pure .NET development. If you intend to use p-invoke to native code, well .NET does the translation for you, so again you don't.
I read somewhere that C# string are not null terminated
Correct.
MSDN:
A string is an object of type String whose value is text. Internally, the text is stored as a sequential read-only collection of Char objects. There is no null-terminating character at the end of a C# string; therefore a C# string can contain any number of embedded null characters ('\0'). The Length property of a string represents the number of Char objects it contains, not the number of Unicode character. - Tell me more...
OP:
But I'd like to know if the method byte[] myBytes = Encoding.ASCII.GetBytes(myString);
add a null termination character to the end of the array or if I must do it manually
No it doesn't and you don't need to, unless of course you wish to pass a string to native code via p-invoke but that is a completely different question (and is handled for you anyway by .NET).