עם ריצתה, תוכנת מחשב שוכנת בזיכרון, מבוצעת בו ומשתמשת בו.
השימוש בזיכרון הכרחי לשם ביצוע חישובים, איחסון נתונים לשליפה מהירה, וכן לריצת התוכנית עצמה.
לא תמיד נעשה תהליך הקצאת הזיכרון ושיחרורו באופן אוטומטי. כשל תכנוני בתוכנה, עלול להביא לתפיסת זיכרון המחשב או חלקים ממנו, ולאי שיחרורו באופן הולם. כך, שמקטע מהזיכרון לא יהא נגיש לתוכנות אחרות, או אף לתוכנה המקצה בעצמה. מצב זה קרוי "דליפת זיכרון".
דליפת זיכרון גורמת להפחתה בביצועי המחשב, קשיים בהרצת תוכניות גדולות למשכי זמן ארוכים, תקיעה של תוכניות והאטה כללית.
קיימות שפות תכנות שבהן יש מנגנוני "איסוף זבל" האחראיים לניהול זיכרון דימני ואוטומטי. לשפות C ו++C אין מנגנון "איסוף זבל" ופותחו עבורן
כלי פיתוח שונים להתמודדות עם בעיה זו.