1st, fix your memory leaks.
Delete pointer then set to null
See if that does anything. Is it a memory leak issue or not?
2nd, are your bitmaps being loaded correctly? You don't check. I don't know what your tile bitmaps look like so I don't know.
3rd, My suggestion was yes to create temp bitmap, set as target, draw, save, delete. This should be done before any logic or loops.
You can add the image as an attachment like so
4th, try a small program. Load 1 tile and draw the same 100x100 grid.