You are right, the original image that was read came in the format of 24bppRgb, however the one being outputted is 32bppArgb. The problem is the original image is actually being read from a pdf file of the size ~110 kb, and the bitmap object that is being outputted is around 2mb!! obviously the problem isn't limited to the pixel format, however this a start in the right direction.
That was my general concern I wasn't sure if I would need to explicitly create member variables on the heap ie. int x = new int(10), or would it happen automatically if the class itself was allocated on the heap. It is clear now thanks!