When retrieving a compressed file (FtpSession.Compression == Compression.Archive) and the SIZE command is supported, Length would normally return the byte count of the compressed file, so in this case Length returns the value of Position when the Length of the remote file is less than Position.