Lvgl7.11 stop working but it doesn't running out of memory

Hi Everyone.
I am applying lvgl7.11 on real board(stm32f407vet6, it has 128KB ram and 512KB flash).
At first it was work well,but when I create more pages and the object on it,I found my program doesn’t working.
My pages will not all displayed at the same time, when it’s for next page,it will delete the prev page first.
I create a taskmgr, here how it works.

static void taskMgr_callback(lv_task_t *t)
{
    //when at loadingPage
    if (task_mgr.isLoadingPageRunning == 1) {
        if (task_mgr.Destory_LP_request == 1) {
            del_LP(&load_page);//delete the current page
            create_CG(&choose_game);//create new page
            task_mgr.isLoadingPageRunning = 0;//refresh the state
            task_mgr.isChooseGamePageRunning = 1;
            task_mgr.Destory_LP_request=0;//mark that have done the request
        }
    }
    //when at choosingGamePage
    if (task_mgr.isChooseGamePageRunning == 1) {
        if (task_mgr.Enter_BC_request == 1) { 
            del_CG(&choose_game);
            create_box_level(&box_choose_level);
            task_mgr.isChooseGamePageRunning = 0;
            task_mgr.isBoxChoosePageRunning = 1;
            task_mgr.Enter_BC_request=0;
        }
        if (task_mgr.Enter_setting_request == 1) {
            //del_CG(&choose_game);
            //create_box_level(&box_choose_level);
            //task_mgr.isChooseGamePageRunning = 0;
            //task_mgr.isBoxChoosePageRunning = 1;
            task_mgr.Enter_setting_request=0;
        }
    }
    //when at choosing level page
    if (task_mgr.isBoxChoosePageRunning == 1) {
        if (task_mgr.BackTo_CG_request == 1) { 
            del_box_level(&box_choose_level);
            create_CG(&choose_game);
            task_mgr.isBoxChoosePageRunning = 0;
            task_mgr.isChooseGamePageRunning = 1;
            task_mgr.BackTo_CG_request=0;
        }
        if (task_mgr.Enter_BoxGame_request == 1) { 
            del_box_level(&box_choose_level);
            //create_box_game();
            task_mgr.isBoxChoosePageRunning = 0;
            task_mgr.isGamePageRunning = 1;
            task_mgr.Enter_BoxGame_request=0;
        }
    }
    //the next page...
}

And I create the task at main before loop.

lv_task_create(taskMgr_callback, 100, LV_TASK_PRIO_MID, NULL); 

At every page ,there are some obj that set with callback function,these functions will change the value of XXX_request,thus taskmgr can caputure it and then change the page.
When I was working on the third page and add some obj, the whole project doesn’t working at the beginning. It stop at the first page when create a obj.

void printf_Mem(){
    lv_mem_monitor_t mon;
    lv_mem_monitor(&mon);
    UART_printf(&huart1,"used: %6d (%3d %%), frag: %3d %%, biggest free: %6d\n", (int)mon.total_size - mon.free_size,
                mon.used_pct,
                mon.frag_pct,
                (int)mon.free_biggest_size);
}

//after all ivgl init

printf_Mem();
    //create taskmgr
    taskmgrInit(&task_mgr);
    lv_task_create(taskMgr_callback, 100, LV_TASK_PRIO_MID, NULL); //创建任务 100ms一次
    printf_Mem();
    
    src = lv_scr_act();
    lv_style_init(&load_page.img_style);                                        
    lv_style_set_image_opa(&load_page.img_style, LV_STATE_DEFAULT, LV_OPA_100); 

    printf_Mem();
    load_page.imgMihoyo = lv_img_create(src, NULL);
    lv_img_set_src(load_page.imgMihoyo, "F:/mihoyo.bin");
    lv_obj_add_style(load_page.imgMihoyo, LV_OBJ_PART_MAIN, &load_page.img_style); //设置样式
    printf_Mem();

    load_page.main_container = lv_obj_create(lv_scr_act(), NULL);
    lv_obj_set_size(load_page.main_container, 300, 100);           
    lv_obj_set_pos(load_page.main_container, 250, 340);
    printf_Mem();

    load_page.obj_label = lv_label_create(load_page.main_container, NULL);
    if (load_page.obj_label != NULL) {
        // lv_obj_get_style_text_color(obj_label,LV_COLOR_WHITE); 
        lv_obj_get_style_text_font(load_page.obj_label, 20);                
        lv_label_set_text(load_page.obj_label, "Tech Otaku Save the World"); 
        lv_obj_align(load_page.obj_label, NULL, LV_ALIGN_CENTER, 0, -30);
    }
    printf_Mem();
    
    lv_style_init(&load_page.style_bg);
    lv_style_reset(&load_page.style_bg);
    lv_style_set_border_color(&load_page.style_bg, LV_STATE_DEFAULT, lv_color_hex(0xFFFFFF)); 
    lv_style_set_border_width(&load_page.style_bg, LV_STATE_DEFAULT, 2);                     
    lv_style_set_pad_all(&load_page.style_bg, LV_STATE_DEFAULT, 6);
    lv_style_set_radius(&load_page.style_bg, LV_STATE_DEFAULT, 6); 
    //following create

Here the result from the uart

used:   7352 ( 12 %), frag:   1 %, biggest free:  58128
used:   7388 ( 12 %), frag:   1 %, biggest free:  58092
used:   7400 ( 12 %), frag:   1 %, biggest free:  58092
open successfully
close successfully
used:   7556 ( 12 %), frag:   1 %, biggest free:  57976
used:   7648 ( 12 %), frag:   0 %, biggest free:  57888
//stopped

It shows that lvgl doesn’t run out of its memory .And Also I don’t create all the page at the same time. But when I add more obj to the page which haven’t been created,the project will stop at the first page.

Still I think this problem is relevent to Memory. Because when I change the lv_conf.h like that,it will work again.

#if LV_MEM_CUSTOM == 0
/* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/

#  define LV_MEM_SIZE    (64U * 1024U)

/* Compiler prefix for a big array declaration */
#  define LV_MEM_ATTR

/* Set an address for the memory pool instead of allocating it as an array.
 * Can be in external SRAM too. */
#  define LV_MEM_ADR          0

/* Automatically defrag. on free. Defrag. means joining the adjacent free cells. */
#  define LV_MEM_AUTO_DEFRAG  1
#else       /*LV_MEM_CUSTOM*/
#  define LV_MEM_CUSTOM_INCLUDE <stdlib.h>   /*Header for the dynamic memory function*/
#  define LV_MEM_CUSTOM_ALLOC   malloc       /*Wrapper to malloc*/
#  define LV_MEM_CUSTOM_FREE    free         /*Wrapper to free*/
#endif     /*LV_MEM_CUSTOM*/

I use malloc instead of the lvgl mem management.The project will work well again,i can switch page to the last page.
But when I create more obj,the same problem appear again.
That makes me confused.

I will be grateful if anyone can recognize this probem and offer some advise.