Here's my current code:
    public bool ProcessFile(string fileName, string fileNameAndPath)
    {
        string address = string.Format("ftp://{0}/{1}", _address, fileName);
        ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(OnValidateCertificate);
        ServicePointManager.Expect100Continue = true;
        FtpWebRequest request = (FtpWebRequest) WebRequest.Create(address);
        request.Method = WebRequestMethods.Ftp.UploadFile;
        request.EnableSsl = true;
        request.UseBinary = false;
        request.UsePassive = false;
        request.Credentials = new NetworkCredential(_username, _password);
        if (!File.Exists(fileNameAndPath))
        {
            Log(string.Format("{0}ERROR - Locating file to migrate. Path - {1}", Environment.NewLine, fileNameAndPath));
            return false;
        }
        try
        {
            StreamReader fileIn = new StreamReader(fileNameAndPath);
            byte[] fileContents = Encoding.UTF8.GetBytes(fileIn.ReadToEnd());
            fileIn.Close();
            request.ContentLength = fileContents.Length;
            Stream requestStream = request.GetRequestStream();
            requestStream.Write(fileContents, 0, fileContents.Length);
            requestStream.Close();
            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
            Log(string.Format("{0}File - {1} uploaded. Response Status: {2}", Environment.NewLine, fileNameAndPath, response.StatusDescription));
            response.Close();
            return true;
        }
        catch (Exception ex)
        {
            Log(string.Format("{0}ERROR - Upload routine. File - {1}. Error Exception: {2}", Environment.NewLine, fileNameAndPath, Util.GetFullError(ex)));
            return false;
        }
    }
Assume the port(21) is supplied with the address (host:21) and the credentials are valid. I am getting an exception on the GetRequestStream as follows : 
The remote server returned an error: (501) Syntax error in parameters or arguments.
I can't seem to figure out the problem. I have checked everything. Yes, I need to use active mode - not able to do passive. Yes, it uses SSL/TLS. This should work but it doesn't and I am missing something here.
Need some hints or guidance on what could be going wrong here.