MS CA2202: Object can be disposed more then once
As @amon mentioned, the correct way of referencing IDisposable Objects in C# is the using-statement.

In general you then have the try-catch block around the using statement to catch eventual initialization errors. This means your Code would look somewhat like this:

String fileContent = String.Empty;
_logger.Debug("Debug-String");

try{
   using(FileStream fs = new Filestream(filename, FileMode.Open, FileAccess.ReadWrite,
     FileShare.None, 64 * 1024, FileOptions.SequentialScan){
      fs.Position = 0;
      using (StreamReader sr = new Streamreader(fs, encoding, true){
         fileContent = sr.ReadToEnd();
      }
   }
}
catch (Exception){
   ArchiveFile(filename, archiveConfig.ErrorFolder, category, _logger);
   throw;
}

return fileContent;


This also allows you to declare variables only when used. 

Finally a small note on filename... you are using camelCase in all variables but that. Be consistent in your naming schema