+4  A: 

TripleDESCryptoServiceProvider defaults to using PKCS7-padding. This pads any message to the next multiple of the block-size.

To avoid using padding, just set the Padding-property to PaddingMode.None

new TripleDESCryptoServiceProvider { 
  KeySize = keySizeInBits, 
  Padding = PaddingMode.None 
};
Rasmus Faber
Thanks a lot. Your solution worked.I just don't understand the implementation. If the block given is exact multiple of blocksize, it shouldn't pad anything. I guess, any sane programmer would do it.
Hemant
A reversible padding need to add some data to the plaintext to communicate how it should be removed. Thus it will have to expand n*8 bytes to (n+1)*8 bytes.
Rasmus Faber