Over 2 GB of internal memory free, unable to install new apps.

I have an android phone that has over 2 GB of free internal memory at present. But whenever I try to install a new app in the phone, it says that memory is full and transfer data to SD card. Is it a problem with android OS? Is my memory really full and not being shown as full? How can I clear my memory and create space for new apps?
