A heap-overflow means overflow of the buffer located in heap portion of memory (and uses a routine such as malloc()). Buffer overflow often leads to security errors that allows attackers to cause arbitary code execution and even system crash.
The vulnerability is introduced during Architecture and Design, Implementation stages.