You could name the output file whatever you like, but this will not make it a CSV file.
The SQL Backup script produces a backup in a binary file and could be restored only using the appropriate tools like SQL Server Management Studio or a RESTORE script
You don't have any particular needs for the using section. The System.Data.SqlClient is the namespace that contains the classes SqlConnection and SqlCommand needed to execute the script
A possible workaround to reach (at least partially) you requirements is to use the BCP utility.
Usually this utility is required when you need to import large amount of data from a storage medium to your Sql Server database. But the BCP utility could also be used to export data from your database in a text file on disk. However BCP requires the name of a single datatable or a SQL Query that returns a single set of data, so you probably need to call it more than one time.
Notice also that BCP is not a Sql command but a standalone utility installed with SQL Server.
As an example (for a better explanation of the parameters check the link above) you could write this code
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "bcp.exe";
psi.Arguments = @"TableOrQueryToExtract out d:\temp\myTableData.txt -T -d MyDataBaseName -w";
Process.Start(psi);
As you can see, you need to call this code for each table you need to export and save that data in separate files on disk (or write a complex program that capture the BCP output and joins everything together. At the end of the day, if you don't have a specific requirement to get a text file, I really suggest to opt for the simplicity of the BACKUP command