So,
My problem came down to the fact that no matter what I did that dll keeps getting added to the bin and the site crashes. What it took me a while to test was if anything still worked if I manually deleted it. It did! My assumption was that if it was being added it was needed and would be referenced from the bin. Turns out if it's not there it can figure out where my local install of IBM is and call it from where it's supposed to. Problem now was that every time I do a build it gets re-added and the site takes long enough as it is to reload after a build. What I did was open up the post build events from project>properties>build events and add a line that removes that dll. I tweaked it to function on both my local machine and the production server it will eventually be deployed to like such:
(del "D:\path\bin\IBM.Data.DB2.dll" /F /Q || (call )) && (del "C:\path\bin\IBM.Data.DB2.dll" /F /Q || (call ))
I'm not sure if this will work the same on install but worst case scenario I just manually delete it.
Cheers.