i have a 1D array. I copied the data onto a 8 bit color bitmap object. And i saved it. I opened the bitmap in hex editor and found the original array data but to my surprise i saw a lot of information before the array data. I think this section belongs to the header right ?
I have attached a screenshot of the hex view 
OK, let’s take a look at the Bitmap format:
http://en.wikipedia.org/wiki/BMP_file_format#Bitmap_file_header
If you follow this, the first thing you will learn is that your data is 0x436 (1078) bytes away… right around where you are saying it is.
The file header is 14 bytes long. In this case, the information header is the next 40 bytes long.
1078 - 14 - 40 = 1024. That means there is 1K between the headers and the data itself. The spec states that the next section is the color table. At 4 bytes per color, this table contains 256 colors.After that, you get your image.
So, most of that bloat that you are seeing is the default 256 color table that .Net is putting in there.
In the header, it is using 1 byte per pixel, which means that the lookup table needs to be 2^8 bytes long, which is 256 colors, which is 1024 bytes.
Not all header formats require the color table to be completely filled, but it can be easily extrapolated why the bitmap producer (.Net) would decide to fill the color table in completely… at least for the first 256 colors.